Вверх ↑
Ответов: 4630
Рейтинг: 749
#1: 2009-11-12 12:20:47 ЛС | профиль | цитата
andrestudio, я приведенный мной выше пример подправил, только что заметил некоторые неточности.
Фрагмент в твоем коде

#pas
//THiAsmClass.doPath(path);
//THiAsmClass(Pointer(P))._hi_onEvent(onPathDbClc, path);
//_hi_onEvent(onPath, path);
//_hi_onEvent(onPathDbClc, path);
по-моему, должен выглядеть так:

#pas
THiAsmClass(Pointer(P)).doPath(path); //Явно указываем, что Р указывает на THiAsmClass в котором есть метод doPath
THiAsmClass(Pointer(P))._hi_onEvent(onPathDbClc, path);
//_hi_onEvent(onPath, path);
//_hi_onEvent(onPathDbClc, path);

Также раскоментируй var p:Longint;
Замени

#pas
procedure THiAsmClass.Create;
begin
p:=Longint(Self);
end;

на


#pas
constructor THiAsmClass.Create;
begin
p:=Longint(Self);
end;
(это одна из тех самых неточностей, которые я заметил сегодня). Добавь в класс обьявление этого конструктора.
И проверь, действительно ли вызывается процедура ChildCallback (положи в нее MBox).
карма: 26

1
Голосовали:andrestudio