![]() |
Problem mit Pointer von TForm
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:
Wenn ich dies so starten möchte, dann bringt der Compiler mir eine Meldung (großer Fehler ^^), dass eine Exception aufgetreten ist:
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; Zitat:
Oder geht es sowieso nicht wie ich es mir vorgestellt habe? Flare |
Re: Problem mit Pointer von TForm
Wieso nochmal "Verpointern". TForm ist doch eine Referenz und damit ein Zeiger
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; |
Re: Problem mit Pointer von TForm
Hey danke!
Das klappt! Obwohl ich es gerade auch mit Pointern hinbekommen habe...ist aber egal da ich es übersichtlicher finde wenn ich nicht andauernd referenzieren und dereferenzieren muss. :dp: Flare |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:14 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz