Ich habe folgende Prozedur:
Delphi-Quellcode:
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;
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?