Я написал Delphi DLL, которая связывается со сторонней программой через COM. Некоторые пользователи сообщают, что иногда происходит сбой сторонней программы. Другие, использующие программное обеспечение таким же образом, никогда не сталкивались с авариями. Когда происходит сбой, сторонняя программа просто становится недоступной в моем приложении DLL.
Поставщик клянется, что это проблема с тем, как кодируется DLL Delphi, хотя он не видел исходного кода и не может сказать, что делает DLL, чтобы вызвать сбой, но они знают, что это «что-то» .
Помимо того, что я считаю, что сторонняя программа не должна аварийно завершать работу из-за незначительной проблемы в моей DLL, давайте предположим, что в моей DLL есть что-то, что требует исправления.
Как я могу определить, как это может вызывать мое приложение? У кого-нибудь есть опыт общения через COM с такой сверхчувствительной программой, как эта? Есть ли некоторые общие вещи, которые нужно искать, которые могут привести к сбою сторонней программы?