Тема: API DELPHI 2009
Показать сообщение отдельно
  #4  
Старый 24.04.2010, 21:39
beavi5 beavi5 вне форума
Прохожий
 
Регистрация: 13.04.2010
Сообщения: 49
Репутация: 12
По умолчанию

вот помогитей найти "10 отличий".)

код правильно работающей программы

Код:
program winmin;
uses
Windows, Messages;
const
AppName = 'WinMin';
var
Window: HWND;
Message: Tmsg;
windowclass: TWndClass;
function WindowProc(Window: HWnd; Message, WParam, LParam: Longint): Longint; stdcall;
begin
windowproc:=0;
case Message of
WM_DESTROY:begin
PostQuitMessage(0);
Exit;
end;
end;
windowproc := DefWindowProc(Window, Message, WParam, LParam);
end;
begin
with windowclass do begin
style := CS_HREDRAW or CS_VREDRAW;
lpfnWndProc := @WindowProc;
cbClsExtra := 0;
cbWndExtra := 0;
hInstance := 0;
hIcon := LoadIcon(0, IDI_APPLICATION);
hCursor := LoadCursor(0, IDC_ARROW);
hbrBackground := GetStockObject (White_Brush);
lpszMenuName := '';
lpszClassName := AppName;
end;
RegisterClass(windowclass) ;
Window:= CreateWindow
   (AppName,'Win_Min',WS_OVERLAPPEDWINDOW,
  CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,
  0,0,
hInstance,  nil);
ShowWindow(Window, CmdShow);
UpdateWindow(Window);
while (GetMessage(Message, 0, 0, 0)) do
begin
TranslateMessage(Message);
DispatchMessage(Message);
end;
end.

код неправильно работающей программы
Код:
program WinMin;
uses
Windows, Messages;
const
AppName = 'WinMin';
Var
Window : HWnd;  
Message : TMsg; 
WindowClass : TWndClass; 
function WindowProc (Window : HWnd; Message, WParam : Word;LParam : LongInt) : LongInt; stdcall;
begin
WindowProc := 0;
case Message of
wm_Destroy : begin 
PostQuitMessage (0); 
Exit;              
end;
end; 
WindowProc := DefWindowProc (Window, Message, WParam, LParam); 
end;
begin
with WindowClass do begin
Style := cs_HRedraw or cs_VRedraw;  
lpfnWndProc := @WindowProc;       
cbClsExtra := 0;                
cbWndExtra := 0;                 
hInstance := 0;                   
hIcon := LoadIcon (0, idi_Application);
hCursor := LoadCursor (0, idc_Arrow); 
hbrBackground := GetStockObject (White_Brush); 
lpszMenuName := '';                 
lpszClassName := AppName;          
end;
RegisterClass (WindowClass);
Window := CreateWindow    
(AppName,  'Win_Min', ws_OverlappedWindow,
 cw_UseDefault, cw_UseDefault, cw_UseDefault, cw_UseDefault,
0,  0,
HInstance,  nil);             
ShowWindow (Window, CmdShow); 
UpdateWindow (Window);       
while GetMessage (Message, 0, 0, 0) do 
begin
TranslateMessage (Message); 
DispatchMessage (Message);   
end;
end.

*крыша едит..*
Ответить с цитированием