Formular als Vorlage speichern
-
- Beiträge: 115
- Registriert: Sa 17. Mär 2007, 10:53
Formular als Vorlage speichern
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
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
-
- 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
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.
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)
-
- Beiträge: 115
- Registriert: Sa 17. Mär 2007, 10:53
Re: Formular als Vorlage speichern
Hallo,
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
Bevor ich das mit der Ableitung ausprobiere eine Frage dazu:u-boot hat geschrieben:Ich verwende die Methode ein CustomForm (Vorlage von TForm abgeleitet) zu erstellen und davon meine endgültigen Formulare abzuleiten.
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
Re: Formular als Vorlage speichern
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
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;
-
- 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
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.JosefKoller hat geschrieben:Werden bei der Ableitung auch alle auf dieser "Musterform" enthaltenen Ereignisse mit abgeleitet?
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)
-
- Beiträge: 115
- Registriert: Sa 17. Mär 2007, 10:53
Re: Formular als Vorlage speichern
Hallo,
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
Du machst mir Kummer und SorgenMichl 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

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
Re: Formular als Vorlage speichern
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.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.
hde
Re: Formular als Vorlage speichern
Ich hoffe, das ist nicht ernstgemeint. Du bekommst hier erstklassigen Support und musst noch nicht einmal dafür bezahlen...und dann so ein Vorschlag. Fürchterlich!!!
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?