Einzelnen Beitrag anzeigen

DoktorD

Registriert seit: 13. Dez 2005
153 Beiträge
 
#17

Re: Pobleme mit FREE (bzw. Destroy)

  Alt 3. Mär 2008, 14:23
Tatsächlich. Jetzt klappts. Super. Ich weiß aber immer noch nicht warum?

Hier erstmal der neue Code
Delphi-Quellcode:
procedure TFrmMain.Verschleiern(Status: Boolean);
var
  bm : TBitmap;
begin
  if Status = TRUE then
  begin
    PanelVerschleiern := TPanel.Create(nil);
    PanelVerschleiern.Parent := FrmMain;
    PanelVerschleiern.Align := alclient;
    PanelVerschleiern.Visible := FALSE;
    PanelVerschleiern.BevelOuter := bvNone;

    ImageVerschleiern := TImage.Create(PanelVerschleiern);
    ImageVerschleiern.Parent := PanelVerschleiern;
    ImageVerschleiern.Align := alclient;

    bm := self.GetFormImage;
    try
      ImageVerschleiern.Picture.Bitmap := bm;
    finally
      bm.Free;
    end;

    AlphaBlendRect(ImageVerschleiern.Canvas,PanelVerschleiern.ClientRect,clblack,80);

    PanelVerschleiern.Show;
  end
  else
  begin
    PanelVerschleiern.Hide;
    FreeAndNil( ImageVerschleiern);
    FreeAndNil( PanelVerschleiern);
  end;
end;
Was ist denn nun der unterschied? Ob ich das Bitmap gleich zuordne, ...
ImageVerschleiern.Picture.Bitmap := self.GetFormImage;
...oder erst über eine neue Variable?
Delphi-Quellcode:
    bm := self.GetFormImage;
    try
      ImageVerschleiern.Picture.Bitmap := bm;
    finally
      bm.Free;
    end;
  Mit Zitat antworten Zitat