Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.10;
Скачать: CL | DM;

Вниз

Console + TNotifyEvent (... of Object)   Найти похожие ветки 

 
mkmkm   (2006-11-23 13:30) [0]

Есть не визуальный компонент, который я собрался использовать в консольном приложении.
делаю так
var
 myComp: TmyComp;
begin
 myComp := TmyComp.Create(nil);
 myComp.MyValue := 10;  
 myComp.OnMyEvent := HereOnMyEvent;
...
...
procedure HereOnMyEvent(Sender: TObject);
begin
//
end;


В TMyComp, OnMyEvent представлен, как FOnMyEvent: TNotifyEvent;
При попытке использовать это код myComp.OnMyEvent := HereOnMyEvent возникает ошибка: Incompatible types: "method pointer and regular procedure". Что делать в таком случае?


 
Сергей М. ©   (2006-11-23 13:31) [1]


> Что делать в таком случае?


Понять различие между регулярной процедурой и процедурным методом объекта.


 
Сергей М. ©   (2006-11-23 13:33) [2]


> Console +


+ Console здесь вовсе ни при чем


 
Anatoly Podgoretsky ©   (2006-11-23 13:44) [3]

> Сергей М.  (23.11.2006 13:33:02)  [2]

> Console здесь вовсе ни при чем

И ГУИ тоже!


 
Джо ©   (2006-11-23 13:49) [4]

> [0] mkmkm   (23.11.06 13:30)

См. [1].
А решение простое. Традиционное, я бы даже сказал.

type
 TEventHandlerClass = class
 private
   procedure OnMyEvent (Sender: TObject);
 end;

procedure TEventHandlerClass.OnMyEvent(Sender: TObject);
begin
 //
end;

var
 MyEventHandlerObject: TEventHandlerClass;
 ...
begin
 ...
 MyEventHandlerObject := TEventHandlerClass.Create;
 try
   MyComp.OnEvent := MyEventHandlerObject.OnMyEvent;
 finally
   MyEventHandlerObject.Free
 end;

end.




Страницы: 1 вся ветка

Текущий архив: 2006.12.10;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.028 c
15-1163565271
MBo
2006-11-15 07:34
2006.12.10
Новости от Borland


2-1164111407
Wolferio
2006-11-21 15:16
2006.12.10
Проверка файла


1-1161950121
Xdebugger
2006-10-27 15:55
2006.12.10
Определение свойств объекта.


15-1163785390
[_]
2006-11-17 20:43
2006.12.10
Шифрование открыто-закрытым ключом.


2-1163878857
c0rben
2006-11-18 22:40
2006.12.10
Фиксированный вывод