Hallo Forianer,
ich habe hier nochmal ein spezielleres Problem bei dem ich über einen Button im Frame die Texte der Comboboxen einer übergeordneten Form (besser von den jeweiligen Sheets) abfragen möchte. Es gab hier schon ähnliche Beiträge dazu aber zu meinem Fall jetzt, sehe ich wohl den Baum vor lauter Wäldern nicht. Ich tue mich auch noch schwer das Property Konstrukt zu durchdringen und richtig umzusetzen, welches häufig zur Anwendung kommt (aber wie genau geht das hier?). Ich brauche hier nochmal einen Tipp bzw. eine beispielhafte Umsetzung in diesem speziellen Fall um das zu begreifen.
Vielen Dank im voraus und Gruß
Helios
[Gelöst] Frames und Datenaustausch über Frames und einem übergeordneten Form
-
- Lazarusforum e. V.
- Beiträge: 120
- Registriert: Mi 29. Jun 2011, 22:36
- OS, Lazarus, FPC: Lazarus 4.0 Windows 10 64Bit / Arch Linux 64Bit
- CPU-Target: 64Bit
- Wohnort: Leonberg
[Gelöst] Frames und Datenaustausch über Frames und einem übergeordneten Form
- Dateianhänge
-
SimpleFrameApp.zip
- (139.77 KiB) 46-mal heruntergeladen
Zuletzt geändert von Helios am Mi 20. Jul 2022, 12:55, insgesamt 1-mal geändert.
- af0815
- Lazarusforum e. V.
- Beiträge: 6796
- 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: Frames und Datenaustausch über Frames und einem übergeordneten Form
Grundlegend funktioniert die Kommunikation nach "oben" über Callbacks. Sprich ganz normale Events. Also so zB ein Button Click zur Laufzeit programmiert wird. So hat bei mir halt ein Frame etliche OnXXX EventHandler.
Es ist noch nicht die Logik von dir im geänderten Beispiel implementiert, aber ich habe einmal die CallBacks eingefügt.
Es ist noch nicht die Logik von dir im geänderten Beispiel implementiert, aber ich habe einmal die CallBacks eingefügt.
- Dateianhänge
-
SimpleFrameAppV2.zip
- (71.2 KiB) 57-mal heruntergeladen
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Lazarusforum e. V.
- Beiträge: 120
- Registriert: Mi 29. Jun 2011, 22:36
- OS, Lazarus, FPC: Lazarus 4.0 Windows 10 64Bit / Arch Linux 64Bit
- CPU-Target: 64Bit
- Wohnort: Leonberg
Re: Frames und Datenaustausch über Frames und einem übergeordneten Form
Hallo af0815,
vielen Dank für Deine schnelle Antwort!!! Ich habe das Beispiel nochmal schnell angepasst, so das es nun das tut was ich gerne wollte. Nun muss ich das auch noch (möglichst;-) inhaltlich voll verstehen.
Beim Testen ist mir aufgefallen, dass die Prozedurvariable Info:String nirgendwo explizit über ein Info := ... gesetzt wird. Es ist sozusagen nur der Platzhalter für das "Memo1.Text" beim Aufruf des "DoInfo(Sender, Memo1.Text);" später. Ist das so einigermaßen korrekt verstanden? Irgendwie erscheint mir das immer noch mystisch, obwohl der Code nun fertig und funktional vor mir liegt. War ich da irgendwie vorschnell mit meinen Streichungen/Kommentierungen in der Version 3 oder passt das so auch allgemein? Ich muss unbedingt nochmal das CallBack Konzept über Prozeduren und Properties anschauen. Da fehlt mir einfach immer noch der klare Durchblick und das ist wirklich ein schönes/wichtiges Programmierparadigma, dass man vollständig beherrschen muss (aus meiner Sicht)..
Erneut, vielen, vielen Dank!
Gruß
Helios
vielen Dank für Deine schnelle Antwort!!! Ich habe das Beispiel nochmal schnell angepasst, so das es nun das tut was ich gerne wollte. Nun muss ich das auch noch (möglichst;-) inhaltlich voll verstehen.
Beim Testen ist mir aufgefallen, dass die Prozedurvariable Info:String nirgendwo explizit über ein Info := ... gesetzt wird. Es ist sozusagen nur der Platzhalter für das "Memo1.Text" beim Aufruf des "DoInfo(Sender, Memo1.Text);" später. Ist das so einigermaßen korrekt verstanden? Irgendwie erscheint mir das immer noch mystisch, obwohl der Code nun fertig und funktional vor mir liegt. War ich da irgendwie vorschnell mit meinen Streichungen/Kommentierungen in der Version 3 oder passt das so auch allgemein? Ich muss unbedingt nochmal das CallBack Konzept über Prozeduren und Properties anschauen. Da fehlt mir einfach immer noch der klare Durchblick und das ist wirklich ein schönes/wichtiges Programmierparadigma, dass man vollständig beherrschen muss (aus meiner Sicht)..
Erneut, vielen, vielen Dank!
Gruß
Helios
- Dateianhänge
-
SimpleFrameAppV3.zip
- (139.76 KiB) 66-mal heruntergeladen
- af0815
- Lazarusforum e. V.
- Beiträge: 6796
- 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: Frames und Datenaustausch über Frames und einem übergeordneten Form
Gerade die Callbacks sind das Geheimnis. Zwar nicht wirklich, nur muss man sich das einmal langsam einprägen. Ich habe auch ein wenig gebraucht um es zu verstehen. Nachdem ich Frames extensiv dynamisch einsetze war bei mir die Notwendigkeit da.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Lazarusforum e. V.
- Beiträge: 120
- Registriert: Mi 29. Jun 2011, 22:36
- OS, Lazarus, FPC: Lazarus 4.0 Windows 10 64Bit / Arch Linux 64Bit
- CPU-Target: 64Bit
- Wohnort: Leonberg
Re: [Gelöst] Frames und Datenaustausch über Frames und einem übergeordneten Form
Hallo af0815
scheint wohl, da muss jeder irgendwann mal durch die Lernkurve durch. Bei mir hat es wohl etwas länger gedauert.
Besten Dank nochmal und Gruß
Helios
scheint wohl, da muss jeder irgendwann mal durch die Lernkurve durch. Bei mir hat es wohl etwas länger gedauert.
Besten Dank nochmal und Gruß
Helios
- af0815
- Lazarusforum e. V.
- Beiträge: 6796
- 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: [Gelöst] Frames und Datenaustausch über Frames und einem übergeordneten Form
Wenn ich das mit mir vergleichHelios hat geschrieben: Mi 20. Jul 2022, 12:57scheint wohl, da muss jeder irgendwann mal durch die Lernkurve durch. Bei mir hat es wohl etwas länger gedauert.


Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1647
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
Re: [Gelöst] Frames und Datenaustausch über Frames und einem übergeordneten Form
Ein schönes Beispiel für Callbacks ist TComponent.FreeNotification.
Wenn eine Komponente Verweise auf andere Komponenten enthält. Wie z.B. ein TLabel hat eine Eigenschaft FocusControl der man ein beliebiges Control aus dem Formular zuweisen kann. Wenn dann der Hotkey der Labelcaption gedrückt wird, springt der Eingabefokus auf das angegebene Control.
Wird das zu fokusierende Control jetzt aber gelöscht, wird das Label automatisch darüber in Kenntniss gesetzt und löscht den Verweis auf Focuscontrol um Zugriffsverletzungen zu vermeiden.
Wenn eine Komponente Verweise auf andere Komponenten enthält. Wie z.B. ein TLabel hat eine Eigenschaft FocusControl der man ein beliebiges Control aus dem Formular zuweisen kann. Wenn dann der Hotkey der Labelcaption gedrückt wird, springt der Eingabefokus auf das angegebene Control.
Wird das zu fokusierende Control jetzt aber gelöscht, wird das Label automatisch darüber in Kenntniss gesetzt und löscht den Verweis auf Focuscontrol um Zugriffsverletzungen zu vermeiden.