![]() |
Für jedes Child eine variable
Hallo,
ich erzeuge verschieden viele MDI Child in meinem Projekt und möchte eine variable xy haben, bei der im jedem Child etwas anderes drinne steht. Während der Laufzeit möchte ich mit ActiveMDIChild oder anders auf die Variable zugreifen und event. ändern können. Hab nur leider keine Idee wie ich das machen könnte. |
Re: Für jedes Child eine variable
Moin moin,
eine Idee wäre, für jedes MDIChild eine globale Variable im MDIMainForm zu halten. Jetzt kannst du zu jederzeit von jedem MDIChild auf diese Zugreifen und auch ggf. ändern. |
Re: Für jedes Child eine variable
Das Problem ist ich möchte auch aus anderen Units auf
die Variable zugreifen. |
Re: Für jedes Child eine variable
Ok,
wenn du in jedem MDIChild die MDIMainForm in die uses mit aufnimmst, funktioniert mein Vorschlag... macht natürlich nur Sinn, wenn die Anzahl der zu erstellenden MDIChilds bekannt/begrenzt ist Zitat:
Muss die Variable nach dem Zerstören des Childs noch bekannt sein? |
Re: Für jedes Child eine variable
Moin, wenn es nur eine Integer sein darf, dann nimm die Tag-Eingenschaft des MDI-Cild-Forms. Grüße //Martin
|
Re: Für jedes Child eine variable
Wie wärs mit nem public-Feld bzw. ner public-property in der Child-Klasse?
mfg Christian |
Re: Für jedes Child eine variable
Ne die anzahl der MDI Childs ist nicht beaknnt. Ich möchte einen String als
variable haben. Die Childs sind alle von der selben Klasse. Wenn das Child zerstöhrt wurde, wird die Variable von demjenigen Child nicht mehr gebraucht. Möchte nur alt als Beispiel, das in einem Label immer der text der Variable steht dessen Fenster grad Aktiviert ist. Zitat:
|
Re: Für jedes Child eine variable
Zitat:
Delphi-Quellcode:
oder:
TMDIChild = class(TForm)
private ... public DeineVar: Integer; // Du kannst jetzt in jedem Child auf diese Variable separat zugreifen end;
Delphi-Quellcode:
Falls dir das nicht bekannt vorkommt, empfehle ich dir n Grundlangentutorial.
TMDIChild = class(TForm)
private FDeineVar: Integer; public property DeineVar: Integer read FDeineVar write FDeineVar; // Du kannst jetzt in jedem Child auf diese Variable separat zugreifen end; mfg Christian |
Re: Für jedes Child eine variable
--- Edit ---
Kann aus der unit main weder auf DeineVar noch auf DeineVarF zugreifen. |
Re: Für jedes Child eine variable
Moin moin,
also mein Vorschlag von oben kannste dann wieder vergessen... Zitat:
Beispiel:
Delphi-Quellcode:
und in deiner Unit mit Klasse TMDIChild deklarierst du
// ..
private { Private-Deklarationen } procedure CreateMDIChild(const Name: string); procedure GetMeineVar; public // .. procedure TMainForm.CreateMDIChild(const Name: string); var Child: TMDIChild; begin Child := TMDIChild.Create(Application); Child.Caption := Name; CHild.DeineVar := 'BlaBlu'; end; // .. procedure TMainForm.GetDeineVar; var i : Integer; begin for i:=0 to MDIChildCount -1 do begin ShowMEssage(TMDIChild(MDIChildren[i]).DeineVar); end; end; wie schon von r2c2 gesagt, deine Var
Delphi-Quellcode:
// ..
public DeineVar : String; end; // .. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:43 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