Guten Tag,
ich habe wieder mal ein Problem.
Ich möchte aus einem Frame auf die übergeordnete
Unit zugreifen (in der die MainForm definiert wird, die den Frame enthält).
Per ValidParentForm(self) kann man auf die übergeordnete Form (in diesem Fall "MainForm") zugreifen kann.
Damit ist aber kein Zugriff auf Variablen in der
Unit möglich.
z.B.
Valid ParentForm(self).variable := 'test';
Meine MainUnit:
Delphi-Quellcode:
unit mainUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, ComCtrls, XPMan, searchUnit, AddUnit, RentingUnit, xmlFunctions;
type
TMainForm =
class(TForm)
MainMenu1: TMainMenu;
Datei1: TMenuItem;
Beenden1: TMenuItem;
Hilfe1: TMenuItem;
AboutMovieManager1: TMenuItem;
XPManifest1: TXPManifest;
MainTabs: TPageControl;
Suchen: TTabSheet;
Hinzufuegen: TTabSheet;
Verleih: TTabSheet;
StatusBar1: TStatusBar;
SearchFrame: TSearchFrame;
AddFrame: TAddFrame;
RentingFrame: TRentingForm;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
xml: TXMLHandler;
end;
var
MainForm: TMainForm;
implementation
{$R *.dfm}
//---------------------------------------------------------
{ Beim PRGM-Start alle Daten aktualisieren }
procedure TMainForm.FormCreate(Sender: TObject);
begin
{ Informationen in Frames aktualisieren }
RentingFrame.init();
SearchFrame.init();
AddFrame.init();
{ XML initialisieren }
xml := TXMLHandler.Create;
end;
end.
In einem der Frames (z.B. SearchFrame) soll jetzt auf die Klasse
xml zugegriffen werden.
Wie kann ich das gestalten?
Vielen dank im Vorraus für eure Hilfe.
Viele Grüße
TRBB
EDIT (Lösung des Problems):
Man muss eine Verknüpfung im Frame auf die Klasse erstellen.
(Dies muss aus der Hauptform heraus passieren)
Delphi-Quellcode:
//---------------------------------------------------------
{ Beim PRGM-Start alle Daten aktualisieren }
procedure TMainForm.FormCreate(Sender: TObject);
begin
{ Informationen in Frames aktualisieren }
RentingFrame.init();
SearchFrame.init();
AddFrame.init();
{ XML initialisieren }
xml := TXMLHandler.Create;
//-------> Verknüpfung im Frame auf den XML-Handler-Dings erstellen
SearchFrame.xmlHandlerLink :=
xml;
end;