Das sollte so aber funzen!
Ich glaub ich weiß wo dein Problem steckt. Wenn dein Compiler nicht meckert, dann ist der Code so richtig.
Stellst du aber auch sicher, dass beim Zugriff auf Liste in
Unit UMain schon eine Instanz von Liste existiert, also Liste schon creiert ist?
Mir ist aufgefallen, dass du Form2 über die CreateMethode aus Form1 erstellst. Hast du die automatische Erstellung von Form2 aus deinem Projekt entfernt?
Hier steckt das Problem an einer anderen Stelle.
Sag mal welche Fehlermeldung du bekommst.
Den Code würde ich anders aufbauen.
Delphi-Quellcode:
Unit UList
interface
...
type
TForm2=class(TForm)
...
private
FListe: TstringList;
public
property Liste : TStringList
read FListe
write FListe;
end;
...
var
Form2: TForm2;
implementation
TForm2.FormCreate(Sender: TObject);
begin
FListe:=TStringList.Create;
end;
-------------------------------------------
unit UMain
interface
uses ..., UList;
type:
TForm1=class(TForm)
...
end;
...
var Form1:TForm1;
...
implementation
TForm1.FormCreate(Sender:TObject);
begin
Form2:=TForm2.Create(Self)
// und hier sollte auch die Liste erzeugt werden
end;
TForm1.Button1Click(Sender:TObject);
begin
Form2.Liste.Add('
Text');
end;
TForm1.Button2Click(Sender:TObject);
begin
ShowMessage('
Letzter Listeneintrag:'+Form2.Liste[Liste.Count-1));
end;
Gruß oki