Próbuję zrobić w programie wizualizację muzyki. Biblioteka DLL dostaje bitmapę, na której ma coś narysować. Chciałem przekazać w funkcji uchwyt bitmapy zamiast wskaźnika, dla większej uniwersalności. Wymyśliłem taki kod:

procedure Paint(Buffer:THandle; Rect:TRect; Levels:DWord; FFT:array of Single; Action:Byte); stdcall;
var
  Bitmap:Graphics.TBitmap;
begin
  Bitmap:=Graphics.TBitmap.Create;
  Bitmap.Handle:=Buffer;
  Bitmap.Free;
end;

Niestety wtedy z bitmapą dzieją się dziwne rzeczy, nie wiem czy obiekt TBitmap robi na tej bitmapie jakieś operacje w momencie przypisania uchwytu, czy co? :) Ktoś ma pomysł, jak to zrobić poprawnie?