und noch was: assign nachher und diese Zuweisung mit := bei Instanzen von Klassen ist immer problematisch, da man sich im klaren sein muss, dass man NUR die Pointer auf die Instanzen verschiebt, und es so vorkommen kann, dass plötzlich kein Pointer auf die eine oder andere Instanz zeigt und so Speicherlecks entstehen können.
Delphi-Quellcode:
Var
Varscreen:TBitmap;
begin
varscreen := TBitmap.Create;
MakeScreenShot(Varscreen);
Image1.Picture.Assign(Varscreen);
end;