Einzelnen Beitrag anzeigen

SuperSeb

Registriert seit: 7. Jan 2008
17 Beiträge
 
#1

Zugriffsverletzung bei Adresse 00000000 bei TImage

  Alt 18. Jan 2009, 18:52
Hallo,

ich brauche mal wieder eure Hilfe.

Ich habe hier eine hübsche Zugriffsverletzung bei Adresse 00000000 'Lesen von Adresse 00000000' wenn ich im Code einer Klasse auf ein klasseneigenes TImage-Objekt zugreifen möchte. Also so ungefähr:

Delphi-Quellcode:
TKlasse = class
private
  Bild: TImage;
public
  procedure MachWas;
end;

//...

procedure TKlasse.MachWas;
begin
  //...
  Bild.Left := 20; //Hier rührt der Fehler her
  //...
end;
Normalerweise würde man sagen "Ganz klar, kein Objekt instanziert", aber:

Delphi-Quellcode:
constructor TKlasse.Create(AOwner: TComponent);
begin
  //...
  Bild := TImage.Create;
  //...
end;
Jetzt kommt's aber noch doller:

Wenn ich genau das gleiche, was ich mit diesem TImage-Objekt mache, mit einem anderen - nennen wir es Bild2 - mache, dann kommt kein Fehler. Und mit genau das gleiche meine ich ALLES gleich machen, d.h. cocy & paste bei allen Sachen für Bild im Code und auf Bild2 geändert.

Jetzt weis ich nicht mehr, wo ich noch nach dem Fehler suchen soll... Wenn ich die Stelle oben auskommentiere, gibts keinen Fehler mehr. Umbenennen des ersten TImage-Objekts auf irgendwas anderes bringt auch nix.

Ach ja - vllt. ist das noch wichtig: Die Fehlermeldung erscheint, wenn man die Form schließt und dann zeigt Delphi das CPU-Fenster...

Vielleicht könnt ihr mir ja einen Tipp geben, wo ich da mal ansetzen könnte zu suchen, da ich leider nicht den ganzen Code posten kann...

Gruß und Danke im Voraus

Seb
  Mit Zitat antworten Zitat