Guten Tag, schon im Create hast Du etwas sinnlosen Code
Delphi-Quellcode:
if i = 0 then
begin
FImage[i].Picture.LoadFromFile(FPath + 'BtnMove.bmp'); //Lade das Bild in FImage[i]
FActiveImage:=FImage[i]; //FActive Image (Pointer!) verweist jetzt auch auf FImage[I]
FActiveImage.Picture.LoadFromFile(FPath + 'BtnMove.bmp'); //Lade das Bild ERNEUT in FImage[i]!
end
EDIT: Ausserdem würde ich empfehlen, mit TStringList zu arbeiten und nicht mit file, das geht hundertmal besser und man muss nicht alles von Hand machen, z.B. den Counter...
EDIT2: Und neben dem, dass mir nicht ganz klar ist, was Du eigentlich machen willst fehlt dir ein extrem wichtiges
inherited Create deshalb bekommst Du immer Zugriffsverletzungen wenn auf deine Felder zugreifst... behebt den Fehler doch nicht...
EDIT3:
Delphi-Quellcode:
procedure TForm1.Start(Sender: TObject);
begin
Menu.ActiveImage:=TImage(Sender);
//Hier exception...
//weil: interner Aufruf:
Self.Menu.ActiveImage:=TImage(Sender);
//Workaround:
Form1.Menu.ActiveImage:=TImage(Sender);
ShowMessage('
Start');
end;
Die
Exception tritt auf, weil
imho dein Event nicht den richtigen (versteckten) Self-Paramter mitgibt... Wie man das richtig macht kann ich Dir aber leider auch nicht sagen
Gruß phreax
Und dann war da noch der junge Mann ....
... der unbedingt Schriftsteller werden wollte.
Er wollte Emotionen wecken und die Leute zum weinen bringen.
Sein Traum wurde wahr, er verfasst heute die Fehlermeldungen bei Microsoft!