Einzelnen Beitrag anzeigen

Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.545 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: canvas wird überschrieben

  Alt 18. Apr 2013, 07:12
Spendiere deiner Zeichenmethode eine eigene private Procedure:
Delphi-Quellcode:
procedure TForm1.Zeichnen;
begin
     Form1.Canvas.MoveTo(10,500);
     Form1.Canvas.LineTo(300,500);
end;
Kleiner Einwand: sicherheitshalber sollte man nicht auf die benannte Instanz zugreifen. Falls man eine weitere Instanz anlegt, greift man im "Glücksfall" nur auf die falsche, im blödesten Fall auf eine nicht existente Instanz zu.
Delphi-Quellcode:
procedure TForm1.Zeichnen;
begin
     {self.}Canvas.MoveTo(10,500);
     {self.}Canvas.LineTo(300,500);
end;
So sollte es immer stimmen. Das "self" ist optional, da, wenn man es weglässt, automatisch auf self zugegriffen wird.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat