Hi
Ich bin dabei ein Package zu basteln und hätte da gerne eine Form drin, auf der ich alles nötige vorbereite, da diese dann in verschieden Projekten an verschiedenen Orten in den Apps genutzt werden soll.
Die erste Frage: Ist es überhaupt klug eine Form in einem Package unterzubringen?
Die zweite Frage bezieht sich direkt auf die Lazarus IDE:
Ich habe im Package bei "hinzufügen->Neue Datei-Form" ausgewählt.
Die Form wird mir angezeigt.
Nun die Frage:
Wo/Wie kann ich diese Form wieder anzeigen lassen/aufrufen falls ich sie geschlossen habe?
Wenn ich das Projekt wechsel dann ist die Form aus dem Package nicht mehr da.
Forms die direkt in einem Projekt sind weis ich wie man die sich wieder anzeigen lassen kann.
Aber die Form aus dem Package ist nicht in der Liste der Forms aus dem Projekt.
[gelöst]Eine Form in einem Package
[gelöst]Eine Form in einem Package
Zuletzt geändert von hubblec4 am Di 7. Sep 2021, 11:25, insgesamt 2-mal geändert.
Re: Eine Form in einem Package
Ja das kannst du machen. Das würde ich aber nur für wirklich projektunabhängige allgemeine Formulare machen. Zum Beispiel nutze ich das für eigene Dialog- und Datenbank-Formulare oder Splash-Screens bei einem größeren Projekt, wo ich mehrere Anwendungen habe, die unabhängig voneinander laufen aber zusammengehören und über eine Datenbank bzw. IPC miteinander kommunizieren.hubblec4 hat geschrieben: Do 19. Aug 2021, 23:38Die erste Frage: Ist es überhaupt klug eine Form in einem Package unterzubringen?
Das entsprechende Formular gehört ja nicht zu der Anwendung, sondern zum Package.hubblec4 hat geschrieben: Do 19. Aug 2021, 23:38Wo/Wie kann ich diese Form wieder anzeigen lassen/aufrufen falls ich sie geschlossen habe?
Wenn ich das Projekt wechsel dann ist die Form aus dem Package nicht mehr da.
Du kannst z.B.:
- das Package öffnen (ich docke mir dann meist das Package in der IDE an) und das entsprechende Formular per Doppelklick auf den Namen öffnen
- per <Ctrl><Shift><F> den Namen in den geöffneten Units suchen und im Source Editor per <Ctrl>+Mausklick das Formular öffnen
- das Package IdeScout installieren (ab Laz 2.2.RC1) und das Formular per <Alt><Shift><P> suchen und öffnen (lernt automatisch, wie das Package Cody, jedoch für die IDE)
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;
Re: Eine Form in einem Package
Ja so war es auch gedacht. Die Form dient auch nicht als Main Form in den anderen Projekten.Michl hat geschrieben: Sa 21. Aug 2021, 14:03 Ja das kannst du machen. Das würde ich aber nur für wirklich projektunabhängige allgemeine Formulare machen. ...
Die Eingabemaske ist aber universell und sollte daher nicht für jedes Projekt neugecodet werden müssen.
Mmh... Ich habe im Package Editor alle Dateien die es enthält, und andere Packages die benötigt werden, aufgelistet.Michl hat geschrieben: Sa 21. Aug 2021, 14:03 Das entsprechende Formular gehört ja nicht zu der Anwendung, sondern zum Package.
Du kannst z.B.:
- das Package öffnen (ich docke mir dann meist das Package in der IDE an) und das entsprechende Formular per Doppelklick auf den Namen öffnen
Aber ein doppel-Klick auf die entsprechende .pas datei wo die Form definiert ist, öffnet die .pas Datei im Code-explorer, aber nicht die Form.
Auch hier ist es doch so das ich nur zum Formular komme als dem Quellcode der Form.Michl hat geschrieben: Sa 21. Aug 2021, 14:03 - per <Ctrl><Shift><F> den Namen in den geöffneten Units suchen und im Source Editor per <Ctrl>+Mausklick das Formular öffnen
- das Package IdeScout installieren (ab Laz 2.2.RC1) und das Formular per <Alt><Shift><P> suchen und öffnen (lernt automatisch, wie das Package Cody, jedoch für die IDE)
Ich möchte aber das die Form angezeigt wird. Die Form wo ich dann weitere Komponenten drauf ziehen kann.
Re: Eine Form in einem Package
Aber du hast doch damit die Unit. Dann einfach per <F12> zum Designer wechseln. Oder verstehe ich das gerade irgendwie falsch?!
Oder meinst du, daß du das Formular als Vorlage verwenden willst, wie ein TFrame, und dann projektbezogen füllen?
Oder meinst du, daß du das Formular als Vorlage verwenden willst, wie ein TFrame, und dann projektbezogen füllen?
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;
Re: Eine Form in einem Package
Das mit <F12> zum Designer kommt wusste ich nicht. Aber das ist genau was ich suchte.Michl hat geschrieben: Sa 21. Aug 2021, 20:24 Aber du hast doch damit die Unit. Dann einfach per <F12> zum Designer wechseln. Oder verstehe ich das gerade irgendwie falsch?!
Vielen Dank.