![]() |
Aus Frame heraus auf übergeordnete (haupt)Form zugreifen
Wunderschönen guten Abend,
gibt es eine Möglichkeit aus einem Frame heraus auf die übergeordnete Form zuzugreifen? Wie zum Beispiel in Javascript über: parent. Vielen Dank im Voraus. TRBB EDIT (Lösung):
Delphi-Quellcode:
ValidParentForm(self).caption := 'Übergeordnete Form wurde neu beschriftet';
|
Re: Aus Frame heraus auf übergeordnete (haupt)Form zugreifen
:dp: Wilkommen in der DP!!!
Was GENAU möchtest du tun bzw. erreichen? |
Re: Aus Frame heraus auf übergeordnete (haupt)Form zugreifen
Interiere über .Parent bis Klasse = TForm ist.
|
Re: Aus Frame heraus auf übergeordnete (haupt)Form zugreifen
Zitat:
Ich habe TForm1. Darin befindet sich ein Frame. Aus diesem Frame heraus möchte ich auf TForm1 zugreifen. Zitat:
Interieren habe ich weder bei Google noch bei Wikipedia gefunden und ich habs noch nie gehört^^ Kannst du mir vielleicht einen kurzen Beispiel Code geben? Schonmal vielen Dank für die schnelle Antworten. |
Re: Aus Frame heraus auf übergeordnete (haupt)Form zugreifen
Delphi-Quellcode:
var
Parent: TComponent; ... Parent := Frame.Parent; while not (Parent is TForm) do Parent := Parent.Parent; |
Re: Aus Frame heraus auf übergeordnete (haupt)Form zugreifen
Vielen Dank schon mal.
Leider funktioniert es nicht ganz :( Der Compiler gibt einige Fehler aus:
Delphi-Quellcode:
MainForm: Hauptform die beim PRGM-Start angeziegt wird und die Frames enthält
procedure TFrameForm.Button1Click(Sender: TObject);
var parentForm: TComponent; begin parentForm := FrameForm.Parent; while not (parentForm is TMainForm) do parentForm := parentForm.Parent; //Fehler: Undeclared identifier: 'Parent' parentForm.caption := 'test erfolgreich'; //Fehler: Undeclared identifier: 'Caption' end; FrameForm: eines der frames (eigebettes Frame/iframe in HTML - weiss nicht obs hier verschiedene gibt ich schreibs lieber mal dazu) Schöne Grüße TRBB |
Re: Aus Frame heraus auf übergeordnete (haupt)Form zugreifen
Delphi-Quellcode:
[Edit: is TMainForm]
procedure TFrameForm.Button1Click(Sender: TObject);
var parentForm: TControl; begin parentForm := FrameForm.Parent; while not (parentForm is TForm) do parentForm := parentForm.Parent; (parentForm as TForm).Caption := 'test erfolgreich'; end; |
DP-Maintenance
Dieses Thema wurde von "Matze" von "Die Delphi-IDE" nach "VCL / WinForms / Controls" verschoben.
Es geht nicht um die IDE an sich. |
Re: Aus Frame heraus auf übergeordnete (haupt)Form zugreifen
Wie wäre es mit der Funktion "ValidParentForm" oder "GetParentForm"? :P
|
Re: Aus Frame heraus auf übergeordnete (haupt)Form zugreifen
Delphi-Quellcode:
und auch
var
parentForm: TComponent; begin parentForm := FrameForm.Parent; while not (parentForm is TMainForm) do parentForm := (parentForm as TForm).Parent; (parentForm as TForm).caption := 'test erfolgreich';
Delphi-Quellcode:
Funktionieren beide nicht.
ValidParentForm(FrameForm).caption := 'test erfolgreich';
Das Problem ist das VerleihForm durch Delphi beim erstellen eines Frames nicht automatisch erstellt wird. Bei normalen Forms findet man oben im interface Teil
Delphi-Quellcode:
Bei Frames aber nicht.
var
MeinForm: TMeinForm; Ich habe nun einfach beim Frame
Delphi-Quellcode:
eingefügt aber das scheint nicht ganz richtig zu sein.
var
FrameForm: TFrameForm; Beide Versionen produzieren Fehler. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:25 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