ich habe mir hier ein kleines Etikettendruckprogramm zusammengeschrieben.
Die Etikettendaten habe ich in .etk-Dateien gespeichert.
Diese kann ich laden und Speichern, so weit, so gut.
Jetzt kommt die Idee, diese Dateien per Doppelklick (unter Windows 11) zu starten.
Dateiendung registriert; das läuft so weit.
Es existiert quasi nur ein Formular, dieses wird vom Hauptprogramm ja standardmäßig aufgerufen:
Code: Alles auswählen
Application.CreateForm(TfrmEtiketten2pdf, frmEtiketten2pdf);
Application.Run;
Ich habe mir dann gedacht, die Kommandozeilenparameter im Formular in einem angepaßtem Constructor zu integrieren:
Code: Alles auswählen
constructor TfrmEtiketten2pdf.create(AOwner: TComponent; param: string);
begin
aktDatei := param;
inherited create(AOwner);
end;
Code: Alles auswählen
frmEtiketten2pdf := TfrmEtiketten2pdf.Create(Application, ParamStr(1))
frmEtiketten2pdf.show;
Application.Run;
Als Nicht-Win32-Gui-Anwendung mit Consolenfenster bleibt beim schließen das Konsolenfenster offen.
Als Win32-Gui-Anwendung wird zwar das Fenster geschlossen, aber es bleibt ein nicht geschlossener Prozeß über.
frmEtiketten2pdf.Close oder frmEtiketten2pdf.Free oder Applikation.free sind nicht zielführend...
Ist mein Versuch mit dem verbogenen Constructor völlig flasch oder muß ich dann nur noch 'nen Destructor einfügen?