корректно передать в ВинАпишную функцию указатель на метод конкретного экземпляра класса? дабы его там дернуть в колбэке.
делаю примерно так:
...
TOnWindowEnumerated = function(AHWND: THandle): Boolean of object;
...
var
lEnumMethod: TOnWindowEnumerated;
lHadle: THandle;
...
lEnumMethod := Self.OnWndEnumerated;
lHandle := THandle(@lEnumMethod); // тут получаю указатель на сам метод, а не на лок.переменную lEnumMethod, wtf?
Result := EnumThreadWindows( lPI.dwThreadId, @EnumWndProc, lHandle);
TMethod нужен где инстанс и сам метод указывай
ага, спс, уже сообразил
На метод - никак - в колбеки обычно просто статическую функцию можно запихать. Но обычно есть некая UserData, что винда всунет в параметры колбека когда вызовет его, вот в юсер дата и можно self всунуть
Обсуждают сегодня