У меня есть DLL с компонентом TClientSocket, он используется для разговора с телефонной системой. DLL имеет только параметры PChar в методах экспорта и не использует пакеты.
Когда я загружаю DLL с помощью приложения Delphi, все события работают нормально, пока проблем нет.
Мой клиент вызывает эту DLL из консольной программы Win32 Cobol, и TClientSocket не запускает события, когда это происходит, он использует основной цикл для вызова метода проверки в DLL, чтобы узнать, есть ли какой-либо возврат из телефонной системы, если он возвращает ОК, затем вызывает метод Get, и вот где возникает проблема:
В событии TClientSocket.OnRead я вызываю TClientSocket.Socket.ReceiveText, и есть несколько возвратов из серверного приложения, что заставляет меня думать, что событие запускается только тогда, когда я вызываю метод из DLL, а TClientSocket удерживает несколько возвратов в буфер.
Проблема в том, что я не могу найти какой-либо разделитель, чтобы разделить этот возврат.
Как я могу это исправить? Могу ли я что-нибудь добавить в свою DLL, чтобы событие OnRead запускалось каждый раз, когда оно не вызывается из программы Delphi?