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