Hallo, das ist mein Problem, ich hab ne Liste (LPlayer), die ich am Anfang dur Lplayer:=TLIst.create; erzeuge, der will ich dann per LPlayer.add(Pointer) was übergeben und danach ausgeben.
Das klappt alles super, nur wenn ich vorher oder nachdem ich das getan habe eine Komponente erzeugen names Medit (Medit:TEDIT), gibt er mir immer einen EACCESSViolent Fehler zurück, in dem er versucht etwas zu lesen, dies aber nicht kann.
Hier erst mal der Quelltext:
LPlayer.Add(TPLayer.create(inttostr(i),i));
TpLAyer.create :
Delphi-Quellcode:
TPlayer=class
private
Name:string;
public
zahl:integer;
function getname:string;
constructor create(N:string;Z:integer);
end;
implementation
constructor TPlayer.create(N:string;Z:integer);
begin
inherited create;
Name:=N;
zahl:=z;
end;
Medit erzeugen:
Delphi-Quellcode:
function editerzeugen(i:integer):integer;
begin
for i:=1 to i do
begin
MEdit:=TEdit.Create(Form1);
MEdit.Parent:=Form1;
Medit.Name:='MEdit'+inttostr(i);
Medit.Top:=25+i*30 ;
Medit.Left:=400 ;
MEdit.Text:='Spieler '+inttostr(i);
aedit[i]:=Medit; //aedit:array[1..4] of TEdit;
end;
Ich vermute dass ich durch das Erzeugen der Komponenten zu viel virtuellen Speicher verbrauche und Delphi keinen SPeicher mehr zur Verfügung hat und sich beschwert.
Wie kann ich Delphi also anweisen mehr speicher zu reservieren ? oder liegt nder Fehler woanders ?
Danke Callisto