Mit welcher API-Funktion gebe ich meine Objekte/Fenster wieder frei?
Was passiert wenn ich das nicht tue?
Beispiel:
Ich erstelle mit CreateWindowEx ein einfaches Fenster und erstelle beim Empfang von WM_CREATE einen Button. Auf WM_DESTROY antworte ich nur mit PostQuitMessage(0). Erstelle ich damit einen wunderbaren Speicherwurm oder gibt die Win-API die beiden Fenster wieder frei?
Stark verinfacht wäre das dann folgendes:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| function WndProc(hWnd: HWND; uMsg: UINT; wParam: wParam; lParam: LParam): lresult; stdcall; begin case uMsg of WM_CREATE: begin hwndButton := CreateWindowEx(0, 'BUTTON', 'Test', WS_VISIBLE or WS_CHILD, 20, 20, 100, 25, hWnd, IDC_BTN_TEST, hInstance, nil); end; WM_DESTROY: begin
PostQuitMessage(0); end; end; end; |
Gruß
Christoph