Доброго времени суток тем, кто занимается нестандартным программированием. Я пишу сетевую программу, и счёл нужным сделать сервер без форм. Для реализации сетевого взаимодействия мне нужен класс TIDUDPServer. И у меня такая запара: я создаю экземпляр этого класса:
| Код | IdUDPServer1 := TIdUDPServer.Create(nil); IdUDPServer1.DefaultPort := 1222; IdUDPServer1.OnUDPRead := OnReadData; IdUDPServer1.Active := TRUE;
|
Вроде, всё логично, но | Код | IdUDPServer1.OnUDPRead := OnReadData |
Delphi не нравится! Пишет: [Error] InvServer.dpr(29): Incompatible types: 'method pointer and regular procedure'. Но если процедура OnReadData располагается внутри юнита с формой (| Код | procedure TForm1.OnReadData(Sender: TObject; AData: TStream; ABinding: TIdSocketHandle); |
), всё нормально. Похоже, компилятор Dephi даёт лажу! Кто-нибудь сталкивался с подобной проблемой? Если да, то подскажите мне, горе-программеру, в чём дело?!  |