Hi,
mein Problem ist folgendes:
Ich will die Canvas um ein paar nützliche Funktionen erweitern und diese dann bei meiner Form verwenden können.
Doch das funzt leider nicht, es kommt immer folgende
Exception, wenn ich auf die Canvas zugreifen will:
Zitat:
Bild/Leinwand erlaubt kein Zeichnen.
So sieht meine
Unit aus (vereinfacht):
Delphi-Quellcode:
unit MyUnit;
interface
uses
{...}
type
TMyCanvas =
class(TCanvas)
{...}
end;
TMyForm =
class(TForm)
{...}
procedure DoSomething;
private
ACanvas: TMyCanvas;
public
constructor Create(AOwner: TComponent);
override;
destructor Destroy;
override;
property Canvas: TMyCanvas
read ACanvas
write ACanvas;
end;
var
MyForm: TMyForm;
implementation
{$R *.dfm}
constructor TMyForm.Create(AOwner: TComponent);
begin
inherited;
ACanvas := TMyCanvas.Create;
end;
destructor TMyForm.Destroy;
begin
ACanvas.Free;
inherited;
end;
procedure TMyForm.DoSomething;
begin
Canvas.MoveTo(0, 0);
// hier krachts
end;
end.
Meine Frage ist nun:
Warum gibt es diese
Exception und wie kann ich es ändern damit es klappt?