![]() |
Problem mit WM_COMMAND
Ich habe folgende Prozedur:
Delphi-Quellcode:
Ich rufe einen Menüpunkt auf. Das funktioniert auch einwandfrei; das gewünschte Fenster wird geöffnet. In der Prozedur PErzeugen möchte ich mit dem nun geöffneten Fenster (ein Speichern-unter-Dialog) weiter arbeiten. Aber das Programm wird unterbrochen, bis ich dieses Fenster wieder geschlossen habe. Erst dann wird die Prozedur PErzeugen ausgeführt. Aber dann ist das Fenster ja nicht mehr da, und die Prozedur kann natürlich nichts tun. Warum wird das Programm an dieser Stelle unterbrochen? Und wie kann ich das ändern?
procedure TS12Kommandodatei.PErzeugenKlick;
var hMenue: HMENU; hBiss: HWND; HDatei: HMENU; IntErzeugen: Integer; w_param: WPARAM; begin hBiss := FindWindow(nil, 'Biss+'); hMenue := GetMenu(hBiss); if hMenu(hBiss) <> 0 then begin hDatei := GetSubMenu(hMenue, 0); if hDatei <> 0 then begin IntErzeugen := GetMenuItemId(hDatei, 1); w_param := MAKEWPARAM(IntErzeugen, 0); SendMessage(hBiss, WM_COMMAND, w_param, 0); PErzeugen; end; end; end; |
Re: Problem mit WM_COMMAND
Hi,
Probier's mal mit PostMessage anstatt SendMessage. Zitat:
|
Re: Problem mit WM_COMMAND
Genau das war's auch. Vielen vielen Dank.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:02 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz