Ärger mit den Frames
Ärger mit den Frames
Hallo zusammen,
kann jemand sagen warum Frames im Design Modus auf zwei verschiedene Art und Weisen angezeigt werden?
Diese Darstellung wäre korrekt:
Diese ist für mich Mist:
Ebenfalls ist bei der (für mich) falschen Darstellung oft eine Caption vergeben, die ich nicht unterbinden kann.
Selbst das entfernen aus der *.lfm Datei bringt nichts.
Beim Start des Programms kommt dann die Fehlermeldung: Unknown Property: "Caption".
Was läuft bei mir schief?
Viele Grüße
Lorca
kann jemand sagen warum Frames im Design Modus auf zwei verschiedene Art und Weisen angezeigt werden?
Diese Darstellung wäre korrekt:
Diese ist für mich Mist:
Ebenfalls ist bei der (für mich) falschen Darstellung oft eine Caption vergeben, die ich nicht unterbinden kann.
Selbst das entfernen aus der *.lfm Datei bringt nichts.
Beim Start des Programms kommt dann die Fehlermeldung: Unknown Property: "Caption".
Was läuft bei mir schief?
Viele Grüße
Lorca
- af0815
- Lazarusforum e. V.
- Beiträge: 6209
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Ärger mit den Frames
Ohne Beispiel kann ich da nicht wirklich was nachvollziehen. Für sieht beides OK aus. Auch die Lazarus und FPC Version wäre interessant.
Ich verwende Frames sehr oft, allerdings nur dynamisch, nie zur Designzeit zugewiesen, weil mir da Designer schon bei Delphi unsympathisch war. Deswegen verwende ich das zur Designzeit nie. Und was ist der Grund überhaupt Frames zur Designzeit zu verwenden ?
Ich verwende Frames sehr oft, allerdings nur dynamisch, nie zur Designzeit zugewiesen, weil mir da Designer schon bei Delphi unsympathisch war. Deswegen verwende ich das zur Designzeit nie. Und was ist der Grund überhaupt Frames zur Designzeit zu verwenden ?
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
Re: Ärger mit den Frames
Ich teile deine Skepsis gegenüber Frames.af0815 hat geschrieben: ↑Mi 10. Aug 2022, 13:01Ich verwende Frames sehr oft, allerdings nur dynamisch, nie zur Designzeit zugewiesen, weil mir da Designer schon bei Delphi unsympathisch war. Deswegen verwende ich das zur Designzeit nie. Und was ist der Grund überhaupt Frames zur Designzeit zu verwenden ?
Aber den letzten Satz verstehe ich nicht.
Wenn du Frames nicht zur Designzeit verwendest, warum verwendest du sie denn überhaupt?
"Designzeit" ist ja gerade der Witz an Frames:
https://etutorials.org/Programming/mast ... ng+Frames/"Thus frames are an effective tool for creating customizable composite controls at design time—something close to a visual component-building tool."
- af0815
- Lazarusforum e. V.
- Beiträge: 6209
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Ärger mit den Frames
Ich verwende Frames als gekapselte Einheiten. Öfters werden die in einem Dummy dynamisch getestet und zur Laufzeit in Programmen verwendet.
Ich habe schon Delphi verflucht, das es zur Deignzeit bei einem Klick den originalen Handler überschrieben hat und man es manchmal nicht sieht. Auch bei Änderungen im Frame wurden die in der IDE nicht gleich nachgezogen, man musste jedes mal das Form mit dem Frame schließen und öffnen. Ein gleiches Verhalten habe ich vor langer Zeit bei Lazarus gesehen. Ja Bugs in Delphi müssen ja in Lazarus übernommen werden. Deswegen keine Frames zur Deignzeit einbetten und alles ist super stabil, mehrfach verwendbar und funktioniert.
Falls es in Lazarus mittlerweile funktionieren sollte, ist es schön, mir aber nicht wichtig.
Wenn es ein Beispiel gibt, so sehe mir das gerne an. Vielleicht werde ich positiv Überrascht, aber der aktuelle Workflow ist extrem stabil. Vor allen, wenn Frames wirklich mit einem neutralen Testprogramm getestet werden können, sind sie extrem robust und universell.
Ich habe schon Delphi verflucht, das es zur Deignzeit bei einem Klick den originalen Handler überschrieben hat und man es manchmal nicht sieht. Auch bei Änderungen im Frame wurden die in der IDE nicht gleich nachgezogen, man musste jedes mal das Form mit dem Frame schließen und öffnen. Ein gleiches Verhalten habe ich vor langer Zeit bei Lazarus gesehen. Ja Bugs in Delphi müssen ja in Lazarus übernommen werden. Deswegen keine Frames zur Deignzeit einbetten und alles ist super stabil, mehrfach verwendbar und funktioniert.
Falls es in Lazarus mittlerweile funktionieren sollte, ist es schön, mir aber nicht wichtig.
Wenn es ein Beispiel gibt, so sehe mir das gerne an. Vielleicht werde ich positiv Überrascht, aber der aktuelle Workflow ist extrem stabil. Vor allen, wenn Frames wirklich mit einem neutralen Testprogramm getestet werden können, sind sie extrem robust und universell.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 830
- Registriert: Mi 3. Jun 2020, 07:18
- OS, Lazarus, FPC: L 2.0.8, FPC Trunk, OS Win/Linux
- CPU-Target: Aarch64 bis Z80 ;)
- Wohnort: München
Re: Ärger mit den Frames
Meinst du damit jetzt einen Frame zur Designzeit mit Hilfe des Designers zur entwickeln oder dieses zur Designzeit mit Hilfe eines TFrame einzubinden? Bei ersterem sehe ich jetzt keinen Grund das nicht zu machen, außer man nutzt allgemein den Designer nicht. Bei letzterem kann es sein, dass man einfach nur Komponenten sinnvoll zusammen gruppiert und diese mehrfach in der Anwendung verwendet. Dann kann man sich das Leben einfach machen und einfach zur Designzeit das dann schon zusammen klicken. Habe ich persönlich noch nicht so gebraucht, aber je nach Use Case kann das sehr sinnvoll sein.
FPC Compiler Entwickler
- af0815
- Lazarusforum e. V.
- Beiträge: 6209
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Ärger mit den Frames
Ich würde es einmal ausprobieren. Im Frame was ändern, umschalten im Form mit dem Frame was ändern und wirklich mal damit arbeiten. Ich bin damit zur Designzeit nicht glücklich geworden. Für mich nicht brauchbar gewesen.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
Re: Ärger mit den Frames
Frames sind für mich sowas wie "zur Designzeit schnell entwickelte" Komponenten: Man kann verschiedene Komponenten zu einem Frame zusammenklicken und auch schon die Event-Handler dazuschreiben ohne in die Tiefen der Komponentenentwicklung eintauchen zu müssen. Das allseits beliebte TLabelEdit kann man so ohne die Unstimmigkeiten der "echten" Komponente nachbauen und kann sich auch gleich eine TLabelCombobox nach demselben Schema dazubauen. Aber das sind nur zwei triviale Beispiele.
Das einzige, was mit Frames unangenehm ist, das was af0815 schon sagte: Wenn man Frames zur Designzeit ins Formular einfügt und dann zu unbedarft auf dem Formular herumklickt, kann es passieren (wird es passieren), dass die beim Frame-Entwurf sorgsam zugewiesenen Event-Handler durch leere Handler überschrieben werden, so dass das alles nicht mehr funktioniert. Daher grundsätzlich: Frames zur Designzeit entwerfen, aber nur zur Laufzeit ins Formular einfügen.
Das einzige, was mit Frames unangenehm ist, das was af0815 schon sagte: Wenn man Frames zur Designzeit ins Formular einfügt und dann zu unbedarft auf dem Formular herumklickt, kann es passieren (wird es passieren), dass die beim Frame-Entwurf sorgsam zugewiesenen Event-Handler durch leere Handler überschrieben werden, so dass das alles nicht mehr funktioniert. Daher grundsätzlich: Frames zur Designzeit entwerfen, aber nur zur Laufzeit ins Formular einfügen.
Re: Ärger mit den Frames
Vielleicht muss ich das mal wieder ausprobieren, aber für mich waren Frames immer reichlich undurchsichtig und schnell war etwas futsch.
Es kommt sicher auf den Anwendungsfall an, aber mit
hatte ich immer das bessere Gefühl.
Es kommt sicher auf den Anwendungsfall an, aber mit
Code: Alles auswählen
TMyControl = class(TCustomControl)
- af0815
- Lazarusforum e. V.
- Beiträge: 6209
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Ärger mit den Frames
Frames sind intern keine so große Hexerei. Vereinfacht gesagt ist es eine Form, deren Elemente in den Zielbereich hineingeblendet werden. Das einzige Problem war früher oft, das Frames und Forms die Parent aders behandelt haben, das ist aber Geschichte.
Für mich sind Frames perfekte Container die man sehr streng Kapseln kann und man sehr gut mehrfach verwenden kann. Beispielsweise, kan man ein Tabsheet nehmen und jede Seite ist ein Frame. Räumt den Code spektakulär auf. Das geht mit Forms alleine nicht so schön.
Und ich kann Frames dort mehrfach verwenden, wenn ich es entspechen Parametrierbar machen.
Und ich habe bei Listen oft Frames, da ich damit wundervoll eine Zeile gestalten kann und dies xFach je nach Datenmenge anzeige. Da gibt es keine Formatierungsprobleme und durch geschicktes Anchoring ist das Frame für Raspi, Linux, Win, quer und hochkant verwendbar. Wie gesagt 1x viel Arbeit, dann geil im verwenden.
Für mich sind Frames perfekte Container die man sehr streng Kapseln kann und man sehr gut mehrfach verwenden kann. Beispielsweise, kan man ein Tabsheet nehmen und jede Seite ist ein Frame. Räumt den Code spektakulär auf. Das geht mit Forms alleine nicht so schön.
Und ich kann Frames dort mehrfach verwenden, wenn ich es entspechen Parametrierbar machen.
Und ich habe bei Listen oft Frames, da ich damit wundervoll eine Zeile gestalten kann und dies xFach je nach Datenmenge anzeige. Da gibt es keine Formatierungsprobleme und durch geschicktes Anchoring ist das Frame für Raspi, Linux, Win, quer und hochkant verwendbar. Wie gesagt 1x viel Arbeit, dann geil im verwenden.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1435
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
Re: Ärger mit den Frames
Könntest Du mal ein kleines Beispiel erstellen, daß das demonstriert?af0815 hat geschrieben: ↑Do 11. Aug 2022, 09:32...
Und ich habe bei Listen oft Frames, da ich damit wundervoll eine Zeile gestalten kann und dies xFach je nach Datenmenge anzeige. Da gibt es keine Formatierungsprobleme und durch geschicktes Anchoring ist das Frame für Raspi, Linux, Win, quer und hochkant verwendbar. Wie gesagt 1x viel Arbeit, dann geil im verwenden.
Re: Ärger mit den Frames
Hallo zusammen,
danke für eure zahlreichen Antworten.
Was ich nun herausgefunden habe ist, das manches mal die Lazarus Version in die *.Lfm Datei
des Frames gespeichert wird ( LCLVersion = '2.0.12.0').
In diesem Fall ist es für mich Mist. Ich habe dann diesen Eintrag entfernt, und schon wurde das Frame so dargestellt wie ich es wollte.
Wieso und warum die LCL Version mal gespeichert wird, und ein anderes mal wieder nicht, kann ich nicht sagen.
Ebenfalls wird manches mal eine Caption für dieses Frame in der *.Lfm Datei eigetragen. Dies führt dann zu dem Fehler:
"Property not Found". Warum manchmal eine Caption eingetragen wird kann ich ebenfalls nicht sagen.
Nach dem Entfernen dieses Eintrages für die Caption, hat alles wie gewohnt funktioniert.
Viele Grüße
Lorca
danke für eure zahlreichen Antworten.
Was ich nun herausgefunden habe ist, das manches mal die Lazarus Version in die *.Lfm Datei
des Frames gespeichert wird ( LCLVersion = '2.0.12.0').
In diesem Fall ist es für mich Mist. Ich habe dann diesen Eintrag entfernt, und schon wurde das Frame so dargestellt wie ich es wollte.
Wieso und warum die LCL Version mal gespeichert wird, und ein anderes mal wieder nicht, kann ich nicht sagen.
Ebenfalls wird manches mal eine Caption für dieses Frame in der *.Lfm Datei eigetragen. Dies führt dann zu dem Fehler:
"Property not Found". Warum manchmal eine Caption eingetragen wird kann ich ebenfalls nicht sagen.
Nach dem Entfernen dieses Eintrages für die Caption, hat alles wie gewohnt funktioniert.
Viele Grüße
Lorca
- af0815
- Lazarusforum e. V.
- Beiträge: 6209
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Ärger mit den Frames
Verwendest du verschiedene Lazarusversionen ? Und verwendest du die aktuelle stabile Version ?
Weil viele so Erscheinungen wurden in den neueren Releases gefixt.
Weil viele so Erscheinungen wurden in den neueren Releases gefixt.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).