Einzelnen Beitrag anzeigen

Flare

Registriert seit: 26. Jan 2006
Ort: Leipzig
529 Beiträge
 
Delphi 7 Professional
 
#1

Problem mit Pointer von TForm

  Alt 5. Apr 2006, 14:35
Hey ho!

Ich habe gerade meine Grund-Klasse fertiggestellt als mir aufgefallen ist, dass man auch eine allgemeine Zeichnen-Funktion programmieren könnte, die nicht in dem Projekt liegt, sondern in der unit meiner Klasse.
Dazu möchte ich einen Pointer von der aktuellen Form beim erzeugen der Klasse übergeben, mit der dann meine Klasse weiß, auf welcher Form sie zeichnen muss.

Nur irgendwie scheint dies nicht ganz so zu klappen wie ich es mir vorstelle.
Delphi-Quellcode:
type
TFahrzeug = class(TObject)
private
  FForm: ^TForm;
  procedure SetForm(var Value: TForm);
  {...}
end;

implementation

procedure TFahrzeug.refresh();
begin
  FForm^.Refresh;
end;

procedure TFahrzeug.draw();
begin
  FForm^.Canvas.Pixels[round(position.X), round(position.Y)] := clBlack;
end;
Wenn ich dies so starten möchte, dann bringt der Compiler mir eine Meldung (großer Fehler ^^), dass eine Exception aufgetreten ist:
Zitat:
Access violation at address 0044C777 in module 'Fahrzeugtest.exe'. Read of address 00000000. Process stopped.
Könnt ihr mir sagen woran das liegt, bzw. was ich ändern müsste dass es klappt?
Oder geht es sowieso nicht wie ich es mir vorgestellt habe?


Flare
Willy Scheibel
  Mit Zitat antworten Zitat