Hm.. hab das Gefühl, dass ich nen Schritt weiter bin, aber so ganz rund läuft das noch nicht.
Hier nochmal die Klasse:
Delphi-Quellcode:
unit enemy;
interface
uses ExtCtrls,Classes;
Type TEnemy =
class(TComponent)
private
public
enemyimage : TImage;
enemyname :
string;
enemypath :
string;
enemysize : integer;
enemypriority : double;
constructor Create();
end;
TEnemyArray =
array of TEnemy;
implementation
Constructor TEnemy.Create;
begin
enemyimage := enemyimage.Create(self);
//enemyimage.Left := 400;
//enemyimage.Top := 400;
//enemyimage.AutoSize := true;
end;
und die Prozedur:
Delphi-Quellcode:
procedure tfrm_main.init_enemyarray();
VAR I : integer ;
begin
SetLength(EnemyArray,FileListBox1.Count+1);
try
for I := 0
to FileListBox1.Count-1
do
begin
EnemyArray[I] := TEnemy.Create;
// So lief es ohne CONSTURCTOR
//EnemyArray[I].enemyimage := TImage.Create(self);
EnemyArray[I].enemyname := FileListBox1.Items.Strings[I];
EnemyArray[I].enemyimage.Picture.Icon.Handle := GetShellIcon(FileListBox1.Directory+'
\'+FileListBox1.Items.Strings[I], True, False);
end;
except
on E :
Exception do
begin
WriteLog(E.
Message + '
: ' + IntToStr(I));
ShowMessage(E.
Message + '
: ' + IntToStr(I));
end;
end;
end;
Zu dem nicht funktionieren CONSTRUCTOR kommt auch noch, die Frage, ob ich
EnemyArray[I].enemyimage.Picture.Icon.Handle
auch beim Create zuweisen kann ? Also quasi das
Handle bei Instanziierung übergeben.
READ-ONLY für das Image und auslesen per GET kommt später
Hier noch die Fehlermeldung vom EXCEPT:
"Zugriffsverletzung bei Adresse 004BE9EB in Modul 'ADMINV.exe'. Lesen von Adresse 00000000"
Ich vermute jetzt mal, dass das Objekt nicht instanziiert ist und nicht gefunden wird.
Vielen Dank schon mal für die Unterstützung
Gruß
Daniel