![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Код такой (RadStudio XE5):
Код:
program
{$APPTYPE CONSOLE}
...
uses
...
var
TCPServer: TTCPServer;
procedure TCPServerAccept(Sender: TObject; ClientSocket: TCustomIpClient);
begin
Writeln('Принят сетевой пакет');
end;
begin
TCPServer := TTCPServer.Create(nil);
TCPServer.OnAccept := TCPServerAccept;
end.
пишет:
[dcc32 Error] DtDebtServer.dpr(52): E2009 Incompatible types: 'method pointer and regular procedure'
пробовал так:
...
var
TCPServer: TTCPServer;
Method: TMethod;
begin
TCPServer := TTCPServer.Create(nil);
Method.Code := @TCPServerAccept;
Method.Data := TCPServer;
TCPServer.OnAccept := TNotifyEvent(Method);
end.тоже ругается: [dcc32 Error] DtDebtServer.dpr(79): E2009 Incompatible types: 'Parameter lists differ' как победить проблему, кто знает? Последний раз редактировалось M.A.D.M.A.N., 15.07.2015 в 11:52. |
|
#2
|
||||
|
||||
|
Молоток дать?
|
|
#3
|
|||
|
|||
|
Цитата:
|
|
#4
|
||||
|
||||
|
Обработчик должен быть методом класса
|
|
#5
|
||||
|
||||
|
Выделяешь метод объекта, жмешь F1 и читаешь, что это за метод и как его использовать.
|
|
#6
|
|||
|
|||
|
Цитата:
http://www.experts-exchange.com/Prog..._22979642.html |
|
#7
|
||||
|
||||
|
Цитата:
|
|
#8
|
||||
|
||||
|
Цитата:
Поэтому предложение молотка всё так же в силе. |
|
#9
|
|||
|
|||
|
Цитата:
Из гугла открывается нормально, без всяких "get access now". |