[gelöst]Eine Form in einem Package

Rund um die LCL und andere Komponenten
Antworten
hubblec4
Beiträge: 341
Registriert: Sa 25. Jan 2014, 17:50

[gelöst]Eine Form in einem Package

Beitrag von hubblec4 »

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.
Zuletzt geändert von hubblec4 am Di 7. Sep 2021, 11:25, insgesamt 2-mal geändert.

Michl
Beiträge: 2505
Registriert: Di 19. Jun 2012, 12:54

Re: Eine Form in einem Package

Beitrag von Michl »

hubblec4 hat geschrieben:
Do 19. Aug 2021, 23:38
Die erste Frage: Ist es überhaupt klug eine Form in einem Package unterzubringen?
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:38
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.
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
- 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; 

hubblec4
Beiträge: 341
Registriert: Sa 25. Jan 2014, 17:50

Re: Eine Form in einem Package

Beitrag von hubblec4 »

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. ...
Ja so war es auch gedacht. Die Form dient auch nicht als Main Form in den anderen Projekten.
Die Eingabemaske ist aber universell und sollte daher nicht für jedes Projekt neugecodet werden müssen.
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
Mmh... Ich habe im Package Editor alle Dateien die es enthält, und andere Packages die benötigt werden, aufgelistet.
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.
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)
Auch hier ist es doch so das ich nur zum Formular komme als dem Quellcode der Form.

Ich möchte aber das die Form angezeigt wird. Die Form wo ich dann weitere Komponenten drauf ziehen kann.

Michl
Beiträge: 2505
Registriert: Di 19. Jun 2012, 12:54

Re: Eine Form in einem Package

Beitrag von Michl »

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?

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 

hubblec4
Beiträge: 341
Registriert: Sa 25. Jan 2014, 17:50

Re: Eine Form in einem Package

Beitrag von hubblec4 »

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?!
Das mit <F12> zum Designer kommt wusste ich nicht. Aber das ist genau was ich suchte.
Vielen Dank.

Antworten