Einzelnen Beitrag anzeigen

SuperSeb

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

Zugriffsverletzung bei Zeichnen auf Bitmap

  Alt 9. Jan 2009, 17:00
Hallo DP-Gemeinde,

ich würde gerne im Constructor ein Bitmap erzeugen und dann später andere Funktionen innerhalb einer Oberflächen-Klasse darauf zeichnen lassen. Die Organisation der Klassen sieht wie folgt aus:

Delphi-Quellcode:
TOberflaeche = class(TForm)
private
  BMP: TBitmap;
//(...)
und

Delphi-Quellcode:
TAndereKlasse = class(TOberflaeche)
//(...)
Der Constructor von TOberflaeche sieht so aus:

Delphi-Quellcode:
constructor TOberflaeche.Create;
begin
  inherited Create(Application);
  BMP := TBitmap.Create;
  //dann zum Beispiel:
  BMP.Width := 500;
  BMP.Height := 500;
  ShowMessage(inttostr(BMP.Width));
end;
Das funktioniert soweit einwandfrei. Nun das Problem: Wenn ich aus einer anderen Prozedur auf BMP zugreife, erzählt mir der Compiler
Zitat:
(...)Exception der Klasse EAccessViolation mit der Meldung 'Zugriffsverletzung bei Adresse (...)'
Das kann doch nicht sein, dass eine Methode der Klasse nicht auf deren Eigenschaften zugreifen dürfen soll...

Delphi-Quellcode:
procedure TOberflaeche.ErzeugeMalKeinenFehler;
begin
  ShowMessage(inttostr(BMP.Width));
end;
Gleicher Code, nur nicht im Constructor... Und bevor einer was sagt: Ja, ich habe google reichlich verwendet und ja, ich habe auch immer schön ein Objekt erzeugt, bevor ich darauf zugreifen wollte


Kann mir das irgendwie nicht erklären, wo das Problem sein soll...

Gruß

Seb
  Mit Zitat antworten Zitat