Последнее обновление:
October 18, 2019

Есть мысль... Жми, напиши!
Подводные камни

  • Рубрик нет

FindControl в dll (Delphi)

Что бы получить ссылку на объект через handle есть стандартная функция (FindControl) но она зависит от Hinstance, и в dll уже работать не будет, исправленный вариант: [ccl lang=»delphi» ]function myFindControl(Handle: HWnd): TWinControl; var AtomText: array[0..31] of Char; ControlAtom: TAtom; begin ControlAtom := GlobalAddAtom( StrFmt(AtomText, «ControlOfs%.8X%.8X», [GetModuleHandle(nil), GetWindowThreadProcessId(Handle, nil)])); Result := Pointer(GetProp(Handle, MakeIntAtom(ControlAtom))); GlobalDeleteAtom(ControlAtom); end;[/cc] [ratings]

Views :

1210

TBitmap из 24 в 32 бит

[cc lang=»delphi»] procedure BuildCopy24to32(_B_in: TBitmap; var _B_out: TBitmap); const MaxPixelCountA = MaxInt div sizeof(TRGBQuad); MaxPixelCount = MaxInt div sizeof(TRGBTriple); type PRGBArray = ^TRGBArray; TRGBArray = array [0 .. MaxPixelCount — 1] of TRGBTriple; PRGBAArray = ^TRGBAArray; TRGBAArray = array [0 .. MaxPixelCountA — 1] of TRGBQuad; var x, y: Integer; RowOut: PRGBAArray; RowIn: PRGBArray; begin […]

Views :

2782