AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Dynamisch erzeugter Frame, auf funktion zugreifen
Thema durchsuchen
Ansicht
Themen-Optionen

Dynamisch erzeugter Frame, auf funktion zugreifen

Ein Thema von Salomon · begonnen am 14. Jan 2008 · letzter Beitrag vom 14. Jan 2008
Antwort Antwort
Benutzerbild von Salomon
Salomon

Registriert seit: 9. Jun 2002
453 Beiträge
 
#1

Dynamisch erzeugter Frame, auf funktion zugreifen

  Alt 14. Jan 2008, 09:02
Hi,
wie kann ich Funktionen dynamisch generierter Frames aufrufen? So erstelle ich z.B. ein Frame auf der Main Form:

Delphi-Quellcode:
var
OverviewFrame : TOverviewFrame;
begin

OverviewFrame := TOverviewFrame.Create(FRM_Main);
OverviewFrame .Parent := FramePanel;
OverviewFrame .Align := alClient;
Wie kann ich nun z.B. von Form2 auf eine Funktion in "OverviewFrame" aufrufen?

Folgendes aus Form2 geht nicht, da FRM_Main den dynamisch erstellten OverviewFrame nicht kennt:
FRM_Main.OverviewFrame.MeineProcedure;

Thanx
Marcus
01001000 01100001 01101100 01101100 01101111
01010111 01100101 01101100 01110100 00100001

http://www.it-adviser.net
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Dynamisch erzeugter Frame, auf funktion zugreifen

  Alt 14. Jan 2008, 09:25
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 ...
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von Salomon
Salomon

Registriert seit: 9. Jun 2002
453 Beiträge
 
#3

Re: Dynamisch erzeugter Frame, auf funktion zugreifen

  Alt 14. Jan 2008, 09:46
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
01001000 01100001 01101100 01101100 01101111
01010111 01100101 01101100 01110100 00100001

http://www.it-adviser.net
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Dynamisch erzeugter Frame, auf funktion zugreifen

  Alt 14. Jan 2008, 12:10
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
Heiko
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz