Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Variable an Form


littlemike1005 - So 19.10.03 00:10
Titel: Variable an Form
Hhllo

wer kann mir sagen wie ich eine Variable xxx (string) der ich in form1 einen string z.B. "hallo welt" zuweise in form2 weiter verwenden kann und diese aber weiter ihren inhalt "hallo welt" führt.

kurz den inhalt einer variable von form1 mit nach form2 nehmen.

danke.


Ja-Pa - So 19.10.03 10:39

In Form2 muss zuerst die Unit von Form1 (z.B. Unit1) in die uses-Liste aufgenommen werden. Dann kannst du einfach mit Form1.Variable auf die Variable zugreifen.


littlemike1005 - So 19.10.03 11:22
Titel: @Ja-Pa
Danke!!!!

Das ist ja so einfach da hätte man von selber drauf kommen können.

Danke Dir.

Michael


MSCH - So 19.10.03 11:30

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