Хорошо, я решил это.
Я вспомнил, что успешно обновил предыдущий проект, используя элемент управления idUDPServer
без каких-либо проблем.Так почему же этот код компилируется, а не этот новый?
После некоторых исследований я обнаружил, что, по-видимому, Delphi (я знаю, это странно. C ++ Builder написан частично на Delphi) решает все типы в своей базовой форме и тампроблема с типом TArray<System.Data>
.
Я скопировал объявление из преобразованного проекта:
void __fastcall UDPServerUDPRead(TIdUDPListenerThread *AThread, TIdBytes AData, TIdSocketHandle *ABinding);
Как видите, TArray<System.Data>
заменено на TIdBytes
.Он компилируется без каких-либо предупреждений или ошибок.Вам все еще нужно назначить функцию события вручную, хотя (в Создать событие).
UDPServer->OnUDPRead = &UDPServerUDPRead;
* РЕДАКТИРОВАТЬ * Обновлен код TBytes
до TIdBytes
как Реми Лебо - исправлена TeamBя.