![]() |
Anhand von ParamStr entscheiden welches Formular startet
Hallo,
ich wollte gerne beim Start des Programms anhand von ParamStr() entscheiden, mit welchem Formular ich beginne. Dazu habe ich in die Projektdatei folgendes eingetragen:
Delphi-Quellcode:
Beim Compilieren gab es keine Probleme, gestartet ist die Anwendung aber nicht. Danach war auch die "Run-Funktion" unter der Delphi-IDE weg. Wenn ich jetzt versuche das Projekt auf zu machen, mault Delphi rum "Der Aufruf von Application.CreateForm fehlt oder ist nicht korrekt" und das Projekt kann nicht aufgemacht werden.
Application.Initialize;
if (ParamCount>0) and (ParamStr(1)='1') then Application.CreateForm(Tform1,form1) else Application.CreateForm(Tform2,form2); Application.Run; Daher folgende Fragen: (1) Wie komme ich jetzt an das Projekt, ich kann ja nicht mal den Eintrag rückgängig machen :( (2) Wie muss ich es richtig anstellen, dass ich anhand von ParamStr() entscheiden kann, welches das Hauptformular meiner Anwendung ist? Thanks für help cu easywk P.S. Delphi5, Windows2000 |
Re: Anhand von ParamStr entscheiden welches Formular startet
Hallo,
zum Bearbeiten einfach mit einen Texteditor öffnen. Gruß Frank |
Re: Anhand von ParamStr entscheiden welches Formular startet
Zitat:
Bearbeiten geht jetzt wieder, aber mein Ursprungsproblem ist damit noch nicht gelöst :( |
Re: Anhand von ParamStr entscheiden welches Formular startet
Das ist doch ganz easy...
Zitat:
Zitat:
Die IDE ist einfach zu Blöd um diesen Wert anhand der Application.CreateFrom calls in der Projekt-datei zu setzen. :? Ist nicht getestet, sollte aber IMHO gehen. |
Re: Anhand von ParamStr entscheiden welches Formular startet
Nein, auch wenn ich kein einziges Formular mehr im "auto create" habe, funktioniert die beschriebene if ... else ... für das Application.CreateForm nicht. Ich habe dann wieder die gleichen Probleme :gruebel:
|
Re: Anhand von ParamStr entscheiden welches Formular startet
Ich habe es gerade mal getestet...
Delphi ist so blöd, dass es in der DPr CreateForm calls nicht in If-clauses oder ähnlichem akzeptiert. Man _muss_ es anscheinend in eine extra Unit packen ...
Delphi-Quellcode:
damit man dann das hier ...
unit Unit3;
interface uses Forms, Unit1 , Unit2 ; procedure openForms; implementation procedure openForms; begin if (ParamCount > 0) and (ParamStr(1) = '1') then Application.CreateForm(TForm1, Form1) else Application.CreateForm(TForm2, Form2); end; end.
Delphi-Quellcode:
... ausführen kann.
Application.Initialize;
openForms; Application.Run; Ich weiß schon, warum ich keinen Bock mehr auf Borlands buggy IDEs habe. ;) |
Re: Anhand von ParamStr entscheiden welches Formular startet
Prima, jetzt geht es :bounce2: Danke!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:17 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