Hallo erstmal,<br>ich möchte in einer Komponenten eine TPicture property verwenden, damit der Anwender auch ein Bild in Komponente schieben kann. Leider gibt es gelegentlich Abstürze, die ich mir nicht erklären kann. Hat jemand ein Patentrezept, wie TPicture in eine Komponente einzubauen ist?<br>Hier ist auszugsweise der Code, den ich verwende:<br>
<pre>
// Hier wird TPicture verwendet
With aCanvas do
begin
Pen.Color:=FFrame.Color;
Pen.Width:=FFrame.Width;
Brush.Style:=bsSolid;
Brush.Color:=FFrame.BkGrnd;
If (FFrame.Picture.Graphic<>Nil) and (FFrame.UsePicture) then
Brush.Bitmap:=FFrame.Picture.Bitmap;
Ellipse(X1,Y1,X2,Y2);
end; // With aCanvas do
// Das steht im FFrame constructor
FPicture:=TPicture.Create;
FPicture.OnChange:=PictureChanged;
// und das im destructor
FPicture.Free;
inherited destroy;
// Hier wird die TPicture property gesetzt
procedure TFrame.SetPicture(const Value: TPicture);
begin
FPicture.Assign(Value);
FParent.Paint;
end;
</pre>
<br>
Ich verwende D5 Pro<br>:-) Jens Schumann
<pre>
// Hier wird TPicture verwendet
With aCanvas do
begin
Pen.Color:=FFrame.Color;
Pen.Width:=FFrame.Width;
Brush.Style:=bsSolid;
Brush.Color:=FFrame.BkGrnd;
If (FFrame.Picture.Graphic<>Nil) and (FFrame.UsePicture) then
Brush.Bitmap:=FFrame.Picture.Bitmap;
Ellipse(X1,Y1,X2,Y2);
end; // With aCanvas do
// Das steht im FFrame constructor
FPicture:=TPicture.Create;
FPicture.OnChange:=PictureChanged;
// und das im destructor
FPicture.Free;
inherited destroy;
// Hier wird die TPicture property gesetzt
procedure TFrame.SetPicture(const Value: TPicture);
begin
FPicture.Assign(Value);
FParent.Paint;
end;
</pre>
<br>
Ich verwende D5 Pro<br>:-) Jens Schumann
Comment