Einzelnen Beitrag anzeigen

TRBB

Registriert seit: 31. Okt 2007
18 Beiträge
 
Delphi 7 Professional
 
#1

Zugriff auf übergeordnete Units

  Alt 10. Nov 2007, 13:18
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;
  Mit Zitat antworten Zitat