Конференция "WinAPI" » Как получить в переменную frm:TForm зная Handle окна? [D7, WinXP]
 
  • pg81 © (23.11.09 09:26) [0]
    Есть у меня в программе переменная FormHandle типом hwnd, которая содержит Handle формы TMyForm, где TMyForm = class(TForm,IMyInterface).
    Подскажите как зная Handle экземпляра класса TMyForm находящийся в FormHandle, получить этот экземпляр в переменую frm:TForm, чтобы вызвать метод frm.GetInterface?
  • Leonid Troyanovsky © (23.11.09 09:32) [1]

    > pg81 ©   (23.11.09 09:26)  

    > Подскажите как зная Handle экземпляра класса TMyForm находящийся
    > в FormHandle, получить этот экземпляр в переменую frm:TForm

    FindControl

    Только, делать так не надо.
    В смысле: хранить хендлы, бо, небезопасно.

    Хранят обычно ссылку на TMyForm + FreeNotification.

    --
    Regards, LVT.
  • pg81 © (23.11.09 10:55) [2]
    TMyForm + FreeNotification это как не понял подробней можно?
  • Leonid Troyanovsky © (23.11.09 11:21) [3]

    > pg81 ©   (23.11.09 10:55) [2]

    > TMyForm + FreeNotification это как не понял подробней можно?

    RTFM: VCL Reference:
    TComponent.FreeNotification
    TComponent.Notification

    На opRemove хранимая (в поле компонента) ссылка
    на TMyForm обниляется.

    --
    Regards, LVT.
 
Конференция "WinAPI" » Как получить в переменную frm:TForm зная Handle окна? [D7, WinXP]
Есть новые Нет новых   [134431   +15][b:0][p:0]