![]() |
Unit oder Formular bei Start festlegen
hi,
wollte fragen,ob es möglich ist ein bestimmter Unit oder Formular festzulegen,damit er automatisch öffnen,wenn ein programm gestartet wird?Anstatt über das Menü und konfiguration zu machen.Mein Programm hat 5 Formulare und 8 Units.Wie ging's bitte danke |
Re: Unit oder Formular bei Start festlegen
würde ja gerne helfen, aber verstehen tu ich nix :roll:
|
Re: Unit oder Formular bei Start festlegen
:gruebel: Wie ist das jetzt gemeint? Möchtest du in Delphi bestimmen, welches Formular (Units werden nicht geöffnet ;)) beim Start gezeigt werden soll, oder sollen eben mehrere angezeigt werden?
Oder geht es dir darum, daß der Benutzer selbst festlegen kann, welche(s) Formular(e) beim Start gezeigt werden? :gruebel: Wär vielleicht recht hilflich, wenn du dich deutlicher ausdrücken würdest. Das Hauptfenster legst du in Delphi über das Menu fest. Wo genau sich das befindet, kann ich grade nicht sagen, hab kein Delphi zur Hand. (Evtl kannst du dabei auch gleich mehrere Fenster beim Start anzeigen lassen.) Willst du mehrere Fenster beim Start anzeigen, kannst du die anderen zB in der OnShow-Prozedur des Hauptformulars ebenfalls anzeigen lassen. //Edit: Zitat:
|
Re: Unit oder Formular bei Start festlegen
Noch nie gesehen?
Delphi-Quellcode:
program Project1;
uses Forms, Unit1 in 'Unit1.pas' {Form1}, Unit2 in 'Unit2.pas' {Form2}; {$R *.res} begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.CreateForm(TForm2, Form2); Application.Run; end.
Delphi-Quellcode:
Alles das sind vorerstellte Forms.
Application.CreateForm();
Wobei die erste so erstellte Form das hauptformular ist... Achso und ändern wirst du es nur im Menü können, denn bei kleinsten Änderungen erstellt Delphi den Code da neu... Bye |
Re: Unit oder Formular bei Start festlegen
Wobei erstellen nicht gleich anzeigen heißt ;)
Sprich: Die Forms werden zwar per Create erstellt, aber angezeigt wird dennoch nur das Hauptformular. Das beugt nur der Notwendigkeit des manuellen "Createn" der Forms vor ;) |
Re: Unit oder Formular bei Start festlegen
Es gibt 2 Möglichkeiten:
1.) über einen Timer ein Timer auf das Hauptformular legen, Interval auf ca. 1000ms. Im Event OnTimer wird der Timer mit Enabled:=False angehalten und deine Aktion ausgeführt. z.B.:
Delphi-Quellcode:
2.) Das Hauptformular schickt sich selbst eine benutzerdefinierte Message
MenuItem15.Click; // Klick auf Menue simulieren
Action2.Execute; // Actions sind eleganter hier gab es vor Kurzem dazu eine nützliche Komponente (die ich gerade nicht finde...) Die 2. Möglichkeit ist deutlich besser als die 1. |
Re: Unit oder Formular bei Start festlegen
Zitat:
Glaub es wird Zeit, daß sich DJAYS mal äußert :lol: |
Re: Unit oder Formular bei Start festlegen
hallo,
sorry,meine Frage ist:mein progrma besteht aus mehreren Units u Formularen.ich muss über Menü,HardwareAuswahl,PortAuswahl.. um mein das Program zu konfigurieren,damit ich Werte messen kann.Nun frage ich ,ob es möglich,dass wenn ich das programm ein Unit z.B HardwareAuswahl oder PortAuswahll automatisch öffnet oder lädt? ich habe mit procedure TMF1.Timer1Timer(Sender: TObject); begin Menue_Hw_Auswahl.Click; Action.Execute; end; aber keine Reaktion |
Re: Unit oder Formular bei Start festlegen
OK, dann laß doch einfach die anderen Formulare im ersten Aufruf von OnShow deines Mainforms anzeigen, evtl sogar per ShowModal.
Die Variante, die du gerade gepostet hast, kann ja nichts werden, da du ja gar nicht festgelegt hast, was für eine Action ausgeführt werden soll. Das war nur kurz hingeschmiert, damit du weißt, wie es gemacht werden muß. (Nich immer nur Copy&Pasten, auch mal mitdenken :zwinker:) Wäre außerdem mal ganz praktisch, wenn du die [delphi]-Tags benutzen würdest... |
Re: Unit oder Formular bei Start festlegen
Hi Leddl
könntest du mir bitte mit Quellcode zeigen wie dass aussehen könnte? thx |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:39 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