![]() |
Dynamisch erzeugter Frame, auf funktion zugreifen
Hi,
wie kann ich Funktionen dynamisch generierter Frames aufrufen? So erstelle ich z.B. ein Frame auf der Main Form:
Delphi-Quellcode:
Wie kann ich nun z.B. von Form2 auf eine Funktion in "OverviewFrame" aufrufen?
var
OverviewFrame : TOverviewFrame; begin OverviewFrame := TOverviewFrame.Create(FRM_Main); OverviewFrame .Parent := FramePanel; OverviewFrame .Align := alClient; Folgendes aus Form2 geht nicht, da FRM_Main den dynamisch erstellten OverviewFrame nicht kennt: FRM_Main.OverviewFrame.MeineProcedure; Thanx Marcus |
Re: Dynamisch erzeugter Frame, auf funktion zugreifen
Hallo,
definiere die Frame-Variable nicht lokal, sondern als public innerhalb des Forms (Form1) Besser wäre allerdings eine private-Variable und ein property oder zumindestens eine Funktion, die die private-Variable zurückgibt. Dort kannst du gleich eine Assert (FrameVar<>NIL) reinpacken. Zurgiff erfolgt von Form2 über Form1.GetFrame (private) oder Form1.FrameVar. Heiko PS: Die Forms heissen hoffentlich nicht Form1 und Form2 ... |
Re: Dynamisch erzeugter Frame, auf funktion zugreifen
Hallo Heiko,
die Formen heißen nicht Formxy ;) Ich dachte für das Beispiel ist es anschaulicher wenn ich die IDE Vorgaben verwende... Dein Tipp hat super funktioniert. Das ganze public zu definieren macht natürlich Sinn :) |
Re: Dynamisch erzeugter Frame, auf funktion zugreifen
Hallo,
ich würde trotzdem eine private-Variable benutzen und eine public-Methode schreiben, die dann den Frame zurückgibt. Somit findet man schneller NIL-Zugriffe (Frame noch nicht erzeugt) Heiko |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:23 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz