Ich habe eine Komponente geschrieben,
die einfacher nicht sein kann:
Delphi-Quellcode:
unit BitmapComp;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Dialogs;
type
TBitmapComp =
class(TComponent)
private
{ Private-Deklarationen }
fChange : TNotifyEvent;
{ Custom Event }
protected
{ Protected-Deklarationen }
public
{ Public-Deklarationen }
FBitmap : TBitmap;
constructor Create(AOwner: TComponent);
override;
destructor Destroy;
override;
Procedure SetBitmap(
Const ABmp : TBitmap);
published
{ Published-Deklarationen }
Procedure HasChanged;
property Bitmap : TBitmap
Read FBitmap
Write SetBitmap;
property OnChangeState : TNotifyEvent
read fChange
write fChange;
end;
procedure Register;
implementation
Constructor TBitmapComp.Create(AOwner: TComponent);
Begin
inherited Create(AOwner);
FBitmap := TBitmap.Create;
End;
Destructor TBitmapComp.Destroy;
Begin
FBitmap.Free;
inherited Destroy;
End;
Procedure TBitmapComp.SetBitmap(
Const ABmp : TBitmap);
Begin
FBitmap.Canvas.Assign(ABmp.Canvas);
HasChanged;
End;
Procedure TBitmapComp.HasChanged;
Begin
if Assigned(fChange)
then OnChangeState(Self);
End;
procedure Register;
begin
RegisterComponents('
Faber', [TBitmapComp]);
end;
end.
Wenn ich nun aus einem anderen Programm ein Bitmap übergebe,
bekomme ich folgende Fehlermeldung an dieser Stelle:
Procedure TBitmapComp.SetBitmap(
Const ABmp : TBitmap);
Begin
FBitmap.Canvas.Assign(ABmp.Canvas);
""""""""""""""""""""""""""""""""""""""""" EConvertError TBitmap kann nicht TBitmap zugewiesen werden...
HasChanged;
End;
Kann mir da jemand weiterhelfen????
So übergebe ich das Bitmap:
Delphi-Quellcode:
procedure TPluginScanner.TwainTwainAcquire(Sender: TObject;
const Index: Integer; Image: TBitmap; var Cancel: Boolean);
begin
BitmapComp.Bitmap := Image;
Cancel := TRUE; {Only want one image}
end;
Danke schon mal !!!
[edit=sakura] [delphi]tags Mfg, sakura[/edit]