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