Formular als Vorlage speichern

Rund um die LCL und andere Komponenten
Antworten
JosefKoller
Beiträge: 115
Registriert: Sa 17. Mär 2007, 10:53

Formular als Vorlage speichern

Beitrag von JosefKoller »

Hallo,

beginne gerade mit dem Umstieg von Delphi nach Lazarus. Ich finde momentan nicht, wie ich in Lazarus ein Fromular als Vorlage abspeichere.

In Delphi klickte ich mit der rechten Maus auf das entsprechende Formular und fügte es dann der Objektablage hinzu.

Könnt ihr mir sagen, wie ich das in Lazarus machen kann?

Danke

Josef

u-boot
Beiträge: 308
Registriert: Do 9. Apr 2009, 10:10
OS, Lazarus, FPC: Ubuntu 9.10 (L 0.9.28 FPC 2.2.4)
CPU-Target: 32Bit
Wohnort: 785..

Re: Formular als Vorlage speichern

Beitrag von u-boot »

Ich verwende die Methode ein CustomForm (Vorlage von TForm abgeleitet) zu erstellen und davon meine endgültigen Formulare abzuleiten.

Ob das nun für dich eine brauchbare Methode sein wird, kann ich nicht beurteilen.
Ubuntu 9.10 (L 0.9.28 FPC 2.4.x)

JosefKoller
Beiträge: 115
Registriert: Sa 17. Mär 2007, 10:53

Re: Formular als Vorlage speichern

Beitrag von JosefKoller »

Hallo,
u-boot hat geschrieben:Ich verwende die Methode ein CustomForm (Vorlage von TForm abgeleitet) zu erstellen und davon meine endgültigen Formulare abzuleiten.
Bevor ich das mit der Ableitung ausprobiere eine Frage dazu:
Werden bei der Ableitung auch alle auf dieser "Musterform" enthaltenen Ereignisse mit abgeleitet?

Ich denke jetzt mal: Nein.

Auf meiner Musterform sind etliche Panels. Das Formular selber hat bsNone, also keinen Rand. Mit einem MouseMouveEreignis z.B. im "HeadPanel" bewege ich das Formular, usw.

Das wird so alles nicht funktionieren. In Delphi war's halt einfach. Musterformular erstellt. Bei einem neuen Formular dieses Musterformular aurgerufen, unter einem neuen Namen ins Projekt gespeichert und fertig.

Gibt es vielleicht sonst noch eine Möglichkeit?

Danke.

Josef

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

Re: Formular als Vorlage speichern

Beitrag von Michl »

Leider habe ich kein Delphi, kann daher das Aufrufen einer Musterform nicht 100%ig nachvollziehen.

Du kannst versuchen über Lazarus-Menü: Datei -> Neu ... -> Abgeleiteter Punkt -> Abgeleitete Projekt-Komponente eine bestehende Form abzuleiten. Afaik funktioniert das nicht wirklich für das, wie Du es vorhast.

Was aber immer geht, ist, auf die herkömmliche (umständliche) Art, einfach die FormUnit.pas und FormUnit.lfm in das neue Projektverzeichnis zu kopieren, unter uses einzufügen und dann (mit Shift+F11) dem aktuellen Projekt hinzuzufügen. Abhängigkeiten, müssten dann ggf. manuell angepasst werden.

Die Musterformlösung (falls das mit der abgeleiteten Projekt-Komponente nicht ausreichend ist) könntest Du aber als Feature-Request im Bugtracker posten oder noch besser, selber in der IDE integrieren und als Featurepatch im Bugtracker hochladen :)

Code: Alles auswählen

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

u-boot
Beiträge: 308
Registriert: Do 9. Apr 2009, 10:10
OS, Lazarus, FPC: Ubuntu 9.10 (L 0.9.28 FPC 2.2.4)
CPU-Target: 32Bit
Wohnort: 785..

Re: Formular als Vorlage speichern

Beitrag von u-boot »

JosefKoller hat geschrieben:Werden bei der Ableitung auch alle auf dieser "Musterform" enthaltenen Ereignisse mit abgeleitet?
Ich wüsste gerade keinen Grund, warum es nicht gehen sollte. Ich selber hab ein Musterfenster mit einem Panel das OK und Abbrechen -Buttons beinhaltet. Bei mir gibt es keine Probleme hinsichtlich der Clickereignisse.

Ob man jetzt in der abgeleiteten Form etwas vom Muster löschen sollte, hab ich mich eher gefragt .......
Ubuntu 9.10 (L 0.9.28 FPC 2.4.x)

JosefKoller
Beiträge: 115
Registriert: Sa 17. Mär 2007, 10:53

Re: Formular als Vorlage speichern

Beitrag von JosefKoller »

Hallo,
Michl hat geschrieben: Die Musterformlösung (falls das mit der abgeleiteten Projekt-Komponente nicht ausreichend ist) könntest Du aber als Feature-Request im Bugtracker posten oder noch besser, selber in der IDE integrieren und als Featurepatch im Bugtracker hochladen :)
Du machst mir Kummer und Sorgen :(

Ich kämpf hier rum, damit mir Lazarus nicht dauernd abschmiert und dann so ein Vorschlag. Fürchterlich!!!

Bei meinen Abstürzen scheint es an dem Fensterhandle zu liegen. Wenn ich ein nicht aktives Fenster z.B. am Rand packe, um es gleich größer zu ziehen, stürzt Lazarus ab.

Wenn ich das nicht aktive Fenster erst anklicke und dann größer ziehe passiert nichts, also kein Absturz. Wahrscheinlich liegt es also an meiner Windows Installation.

Um es zu Überprüfen, müßte ich windows neu installieren und dazu hab ich, ehrlich gesagt, keine große Lust. Da sitz ich ja Tage da, bis wieder alles so konfiguriert ist, wie ich es brauche.

Ich speichere jetzt of und bin beim Verschieben und aktivieren der einzelnen Fenster jetzt vorsichtiger. Schätz mal, damit komm ich über die Runden.

Und gleich noch hier zu meinem Treeview. Ich schreibs jetzt einfach alles hier hin.

Das Lazarus Treeview läd tatsächlich, auch mit Daten aus einer Tabelle ruckzuck. die Tabellen sind mit Master/Detail verknüpft. Sie werden mit while durchlaufen und eben dann die Daten ins treeview geschrieben.

Bei meinem Delphi dauert es um die 15 Sekunden, nur um den ersten Knoten zu erstellen (Masterdaten). (trotz Item.beginUpdate, treeview.visible:=false, usw.)

Bei Lazarus dauert, alles zusammen, also nicht nur der erste Knoten (Masterdaten), sondern mit allen Unterknoten (Detaildaten) höchstens eine halbe Sekunde.

Wie, schon gesagt, ich bin begeistert.

Und mein Musterformular bekomm ich auch irgendwie hin. Notfalls halt mit kopieren und einfügen und ein paar Anpassungen.

danke für Eure Geduld und Hilfsbereitschaft

Ciao

Josef

hde
Beiträge: 556
Registriert: Mi 11. Aug 2010, 02:56

Re: Formular als Vorlage speichern

Beitrag von hde »

JosefKoller hat geschrieben:Um es zu Überprüfen, müßte ich windows neu installieren und dazu hab ich, ehrlich gesagt, keine große Lust. Da sitz ich ja Tage da, bis wieder alles so konfiguriert ist, wie ich es brauche.
auf meinem Haupt/Arbeitsrechner laufen alle Windows- und Mac-Versionen in einer VM. Ein Windows einmal sauber installiert mit allen Basistools und dann geklont und nur mit dem Klon arbeiten. Crasht der dann, einfach das Original neu klonen.

hde

wp_xyz
Beiträge: 5175
Registriert: Fr 8. Apr 2011, 09:01

Re: Formular als Vorlage speichern

Beitrag von wp_xyz »

und dann so ein Vorschlag. Fürchterlich!!!
Ich hoffe, das ist nicht ernstgemeint. Du bekommst hier erstklassigen Support und musst noch nicht einmal dafür bezahlen...

Zum TreeView:
Ich kann nicht glauben, dass UTF8-Umwandlungen nennenswert zur Laufzeit beitragen. Da bremst noch etwas anderes... Kannst du dein Delphi-Programm so zusammenstreichen, dass der Fehler auftritt, und die kompilierbaren Quellen hier posten?

Antworten