![]() |
Circular unit reference
Hallo
ich bekomme folgende Fehlermeldung: Circular unit reference to 'ClientMain' und zwar habe ich zwei Units (ClientMain und MainView). Im ClientMain habe ich ein MainFrame objekt welchem ich beim create ClientMain übergeben möchte. wie kann ich das problem lösen?
Delphi-Quellcode:
[edit=MrSpock]Code Tags korrigiert. Mfg, MrSpock[/edit]
unit ClientMain;
interface uses Windows, MainView; //MainView wird benötigt damit ich MainView Objekt erzeugen kann type TClientUnit = class(TForm) private mMainView : TMainFrame; public end; var ClientUnit: TClientUnit; . . . procedure TClientUnit.FormCreate(Sender: TObject); begin mMainView := TMainFrame.Create(self); mMainView.Visible := True; end; unit MainView; interface uses Windows, ClientMain; //ClientMain für den zugriff auf die Mainklasse type TMainFrame = class(TForm) private { Private declarations } public procedure create(clientMain : TClientMain); end; var MainFrame: TMainFrame; implementation |
Re: Circular unit reference
Du kannst im implementation-Abschnitt noch einen uses-Abschnitt machen.
|
Re: Circular unit reference
Zitat:
Ciao Frederic |
Re: Circular unit reference
wenn ich sie aber oben raus nehme, dann ist TMainFrame (MainView) im private bereich nicht mehr bekannt.
Code:
unit ClientMain;
interface uses Windows, //--------> hier raus MainView; //MainView wird benötigt damit ich MainView Objekt erzeugen kann type TClientUnit = class(TForm) private mMainView : TMainFrame; public end; var ClientUnit: TClientUnit; implementation . //------------------------------>>>>. uses MainView; . procedure TClientUnit.FormCreate(Sender: TObject); begin mMainView := TMainFrame.Create(self); mMainView.Visible := True; end; |
Re: Circular unit reference
Er meinte das sicher genau andersrum, also in der MainView das einbinden der ClientMain nach hinten verschieben.
|
Re: Circular unit reference
Aber das problem ist doch, dass ich bei beiden units deklarationen im private bereich habe. somit muss ich die unit im ersten uses einbinden. oder sehe ich das falsch :gruebel:
|
Re: Circular unit reference
OK, den Parameter habe ich überlesen :-).
Dann mußt du es in eine dritte Unit auslagern. |
Re: Circular unit reference
Eine dritte Unit :pale: ? Finde ich aber nicht so toll, da ich noch in mehreren Units diese vorgehenweise verwenden möchte.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:13 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 by Thomas Breitkreuz