Что бы получить ссылку на объект через 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]