oje oje, sowas ist aber von Hinten durch die Brust ins Linke Auge programmieren. Klassenübergreifende Programmierung ist aber nicht der feine Stil.
Besser wäre, einen eigenen Konstructor der 2. Form abzuleiten, dort die Variable zu übergeben und sie im eigenen Feld sichern.
Demo:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| type TForm1 = Class(TForm) private myString:String; end; TForm2 = Class(TForm) private myString: String; constructor MyCreate(AOwner:TComponent; AmyString:String); end;
constructor TForm2.MyCreate; begin inherited Create(AOwner); myString:= amyString; end; |
in der Form1 rufst du auf:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| var My2Form: TForm2; begin My2Form:= TForm2.MyCreate(Self,'TestString'); My2Form.ShowModal; My2Form.Free; end; |
Form2 darf dabei nicht zur Liste der automatisch erstellen Forms gehören!
grez
msch