Erstelle eine function die ein HBitmap zurück gibt.
Ja das sieht gut aus, da wäre ich nicht drauf gekommen, Danke!
DeleteObject(das_HBitmap_Result) nachdem ich es zugewiesen habe, wird erledigt!
Pseodo code um es zu verdeutlichen
Delphi-Quellcode:
var
myBitmap: TBitmap;
myBitmap:= TBitmap.Create;
// <- das ist in FormCreate, nur damit man es hier sieht, ein Free ist im FormClose
function x : hbitmap;
begin
result := ein_HBitmap;
DeleteObject(ein_HBitmap)
end;
procedure y;
das_HBitmap_Result: HBITMAP;
begin
das_HBitmap_Result := x;
myBitmap.Canvas.Handle := das_HBitmap_Result;
// ab hier ist myBitmap gefüllt und ich kann....
DeleteObject(das_HBitmap_Result);
// ....das Handle freigeben, Richtig?
end;
edit
Ic habe Deinen Nachtrag gelesen, DeleteObject() weglassen und nur über .Free freigeben, okay, Danke Dir!!