Einzelnen Beitrag anzeigen

Benutzerbild von phreax
phreax

Registriert seit: 1. Mai 2006
Ort: Dresden
147 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Menu in Klasse auslagern und über txt steuern

  Alt 7. Apr 2008, 17:34
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!
  Mit Zitat antworten Zitat