Einzelnen Beitrag anzeigen

Benutzerbild von hanselmansel
hanselmansel

Registriert seit: 23. Feb 2005
Ort: Kaiserslautern
279 Beiträge
 
Delphi 2009 Enterprise
 
#1

Fehler beim Laden einer TBitmap-Property

  Alt 22. Jul 2005, 11:02
HiHo,

Ich habe in einer Komponente (von TCustomControl abgeleitet) eine Property definiert, über die ich zur Entwurfszeit via Objektinspektor ein *.bmp laden möchte. Die Syntaxprüfung zeigt mir keine Fehler an, wenn ich jedoch versuche zur Entwurfszeit ein Bitmap zu laden, bekomme ich eine Fehlermeldung:



Untenstehend poste ich mal den Quellcode, in dem ich den Fehler vermute:
Delphi-Quellcode:
[...]

type
  Wechselbutton = class(TCustomControl)
  private
    { Private-Deklarationen }
    FOnMouseDown :TMouseEvent;
    Img_normal :TBitmap;
    [...]
  protected
    { Protected-Deklarationen }
    Procedure Paint; override;
    Procedure SetNormImg(Img :TBitmap);
    [...]
  public
    { Public-Deklarationen }
  published
    { Published-Deklarationen }
    Property Surface_Normal :TBitmap read Img_normal write SetNormImg;
    [...]
  end;

procedure Register;

var
  b_Enabled :Boolean;
  b_MouseDown :Boolean;

implementation
[...]

procedure Wechselbutton.Paint;
begin
If b_Enabled then
  Begin
  If b_MouseDown then
    Begin
    {Width := Img_MouseDown.Width;
    Height := Img_MouseDown.Height; }

    Canvas.Draw(0,0,Img_MouseDown);
    End
  Else
    Begin
    {Width := Img_normal.Width;
    Height := Img_normal.Height;}

    Canvas.Draw(0,0,Img_normal);
    End;
  End
Else
  Begin
  Width := Img_disabled.Width;
  Height := Img_disabled.Height;
  Canvas.Draw(0,0,Img_disabled);
  End;
end;

Procedure Wechselbutton.SetNormImg(Img :TBitmap);
begin
try
  if Img <> Img_normal then
    begin
    Img_normal := Img;
    Update;
    end;
except
  begin
  Img.Free;
  Img_normal.Free;
  end;
end;
end;
Ich denke, ich habe mir die Property, und dort ganz speziell die Methode write, falsch aus der OH zusammengeschustert. Kann mir jemand bei der Fehlersuche helfen?

Schon mal vielen Dank, für's Lesen!

hanselmansel
Es gibt nur sehr wenige Probleme auf dieser Welt, die sich nicht mit einigen hundert Gramm Sprengstoff lösen ließen.
  Mit Zitat antworten Zitat