TClientSocket コンポーネントを含む DLL があります。これは、電話システム マシンと通信するために使用されます。DLL は、エクスポート メソッドに PChar パラメーターのみを持ち、パッケージを使用していません。
Delphi アプリで DLL をロードすると、すべてのイベントが正常に機能し、今のところ問題はありません。
私の顧客はコンソールの Win32 Cobol プログラムからこの DLL を呼び出していますが、TClientSocket はイベントが発生してもイベントをトリガーしません。メイン ループを使用して DLL のチェック メソッドを呼び出し、電話システムからの戻りがあるかどうかを確認します。 OK を返し、Get メソッドを呼び出すと、ここで問題が発生します。
TClientSocket.OnRead イベントで、TClientSocket.Socket.ReceiveText を呼び出します。サーバー アプリからいくつかの戻り値があります。このイベントは、DLL からメソッドを呼び出したときにのみトリガーされ、TClientSocket はいくつかの戻り値を保持していると思います。バッファ。
問題は、この Return を分割する Delimiter が見つからないことです。
どうすればこれを修正できますか? OnRead イベントが Delphi プログラムから呼び出されていないときに毎回トリガーされるようにするために、DLL に追加できるものはありますか?