Hi,
ich habe ein kleines Problem mit einer Eigenschaft meiner Klasse.
In der Klasse sind Strings und ein TImage. die Strings kann ich zuweisen, das Image leider nicht.
Der Code meiner Klasse TEnemy:
Delphi-Quellcode:
Type TEnemy = class
private
public
name : string;
path : string;
image : TImage;
end;
TEnemieArray = array of TEnemy;
Der Code, mit dem ich versuche das Array zu füllen:
Delphi-Quellcode:
procedure tfrm_main.init_enemiearray();
VAR I : integer ;
MyIcon:TIcon;
begin
SetLength(EnemieArray,FileListBox1.Count+1);
try
MyIcon:=TIcon.Create;
for I := 0
to FileListBox1.Count-1
do
begin
EnemieArray[I] := TEnemy.Create;
MyIcon.Handle := GetShellIcon(FileListBox1.Directory+'
\'+FileListBox1.Items.Strings[I], True, False);
EnemieArray[I].
name := FileListBox1.Items.Strings[I];
EnemieArray[I].image.Picture.Icon. := MyIcon;
end;
MyIcon.Free;
except
on E :
Exception do
begin
ShowMessage(E.
Message + '
: ' + IntToStr(I));
end;
end;
end;
Die
Exception löst immer aus, wenn ich MyIcon dem Array.image zuweisen will. Das Zuweisen von MyIcon zu einem Image.picture.icon auf der
GUI funzt einwandfrei. Warum klappt das nicht mit dem TImage in dem Array meiner Klasse ?
Die Fehlermeldung des TRY-EXCEPT:
>> Zugriffsverletzung bei Adresse 004C6CB3 in Modul 'ADMINV.exe'. Lesen von Adresse 000001B0 : 0 <<
Gruß
Daniel