![]() |
Erstes NonVCL-Programm: HILFE :-)
Hallo,
ich versuche gerade, mein erstes Programm NonVCL fertigzustellen, aber irgendwie komme ich dabei nicht weiter. Vom Programm aus soll ein externes Programm gestartet und mit Hinweisfenstern beim Programmstart und -ende ergänzt werden. Dies habe ich wie folgt umgesetzt:
Delphi-Quellcode:
Das klappt soweit, aber leider ist da auch schon das Problem: Ich habe das Ganze über FormCreate-Event gestartet. Zwar kann ich über Application.ShowMainForm := false; in der Projektdatei die Anzeige des Formulars verhindern, aber wirklich sinnvoll scheint mir dies nicht (immerhin soll das ja NonVCL werden).
procedure ShellExecAndWait(dateiname: string; Parameter: string);
var executeInfo: TShellExecuteInfo; dw: DWORD; begin FillChar(executeInfo, SizeOf(executeInfo), 0); with executeInfo do begin cbSize := SizeOf(executeInfo); fMask := SEE_MASK_NOCLOSEPROCESS or SEE_MASK_FLAG_DDEWAIT; Wnd := GetActiveWindow(); executeInfo.lpVerb := 'open'; executeInfo.lpParameters := PChar(Parameter); lpFile := PChar(dateiname); nShow := SW_SHOWNORMAL; end; if ShellExecuteEx(@executeInfo) then dw := executeInfo.HProcess else begin ShowMessage('Error: ' + SysErrorMessage(GetLastError)); Exit; end; while WaitForSingleObject(executeInfo.hProcess, 50) <> WAIT_OBJECT_0 do Application.ProcessMessages; CloseHandle(dw); end; procedure TForm1.FormCreate(Sender: TObject); begin Showmessage('Please keep in mind to update the database after editing'); ShellExecAndWait('M:\sales\mfgpro\reporter.exe', ''); Showmessage('You should restart the report now'); Close; end; Was kann ich tun, um das kurze Programm oben auch ohne Formular zu starten? Ich bin für jeden Tipp dankbar. Danke Opa |
Re: Erstes NonVCL-Programm: HILFE :-)
Im Hauptprogrammquelltext (Projekt > Quelltext) deinen Quelltext reinschreiben, und das Application-Zeug wegmachen ...
|
Re: Erstes NonVCL-Programm: HILFE :-)
Hi,
irgendwas geht mir hier gegen den Strich. Ich kann zwar kein nonVCL, aber das TForm1 hört sich verdächtig nach VCL an? :gruebel: |
Re: Erstes NonVCL-Programm: HILFE :-)
Hallo,
wenn ich die Application-Einträge entferne, sagt mir Delphi aber schon beim Prozeduraufruf, dass dies eine Anweisung sein sollte, und bricht ab. Und wie starte ich die Prozedur, wenn ich den FormCreate-Event nicht nutzen kann? Danke Opa |
Re: Erstes NonVCL-Programm: HILFE :-)
Hi,
schau dir am besten mal Luckies nonVCL-Tut an. ![]() nennt sich "Win32-Api Tutorials". |
Re: Erstes NonVCL-Programm: HILFE :-)
Also deine prozedurderkl. kommt vor das begin
und das was nach dem begin kommt wird sofort ausgeführt, wenn das programm startet. du hast dann keine events in dem Sinne mehr, sondern meistens nur noch eine nachrichtenschleife, und dann reagierst du auf die nachrichten. |
Re: Erstes NonVCL-Programm: HILFE :-)
Hallo,
Danke, das war genau das Richtige... Gruß Opa |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:27 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 by Thomas Breitkreuz