Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Aus Frame heraus auf übergeordnete (haupt)Form zugreifen (https://www.delphipraxis.net/102605-aus-frame-heraus-auf-uebergeordnete-haupt-form-zugreifen.html)

mkinzler 1. Nov 2007 09:50

Re: Aus Frame heraus auf übergeordnete (haupt)Form zugreifen
 
Was für Fehler?

Deep-Sea 1. Nov 2007 09:52

Re: Aus Frame heraus auf übergeordnete (haupt)Form zugreifen
 
Zitat:

Zitat von TRBB
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:
var
  MeinForm: TMeinForm;
Bei Frames aber nicht.
Ich habe nun einfach beim Frame
Delphi-Quellcode:
var
  FrameForm: TFrameForm;
eingefügt aber das scheint nicht ganz richtig zu sein.

Natürlich klappt das nicht. FrameForm ist einfach nur eine Variable, die keinen Wert hat, wenn du ihr keinen zuweißt.
Verwende, wenn du von einer Instanz eine Referenz brauchst, innerhalb der Instanz "Self" ...

mkinzler 1. Nov 2007 09:57

Re: Aus Frame heraus auf übergeordnete (haupt)Form zugreifen
 
Außerdem solltest du den Code, den man hier postet nicht eigenmächtig abändern:

Delphi-Quellcode:
is TMainform
ist was anderes wie
Delphi-Quellcode:
is TForm
( hab ich leider vorhin übersehen)
parentForm hatte ich zu TControl geändert
Zitat:

parentForm := (parentForm as TForm).Parent;
wird fehlschlagen wenn es sich nicht um eine Form handelt (was eigentlich immer der Fall ist, weil der Code ja nur ausgeführt wird, wenn das der Fall ist!)

TRBB 1. Nov 2007 10:05

Re: Aus Frame heraus auf übergeordnete (haupt)Form zugreifen
 
Tausend Dank an euch beide!!!

Beide Versionen Funktionieren nun!

Delphi-Quellcode:
  var
  parentForm: TControl;
begin
  parentForm := self.Parent;
  while not (parentForm is TForm) do
    parentForm := parentForm.Parent;
  (parentForm as TForm).caption := 'test erfolgreich';
end;
und

Delphi-Quellcode:
ValidParentForm(self).caption := 'test erfolgreich';

Also nochmal Danke für eure Hilfsbereitschaft!

Viele Grüße
TRBB


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:10 Uhr.
Seite 2 von 2     12   

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