Ошибка, которую вы получаете, может иметь много причин. Это может быть проблема в вашем собственном коде или в элементе управления ActiveX. Например, ваш процесс может завершиться, но один из потоков все еще работает, запрашивая информацию или что-то в этом роде.
Скорее всего, вы не правильно освободите элемент управления ActiveX, что приведет к тому, что останется какой-то незаконченный бизнес. Запуск вашего приложения в отладчике может предоставить вам местоположение ошибки, но есть вероятность, что она немного сложнее. Иногда это просто случается ...
Вы создали небольшое консольное приложение для тестирования этого OCX? Или вы импортировали его как компонент и добавили в форму?
В случае консольного приложения убедитесь, что вы не используете глобальную переменную для хранения объекта OCX! Глобальные интерфейсные объекты не всегда освобождаются правильно.
Если вы используете компонент в форме, добавьте в эту форму событие OnClose и добавьте в него код, который должен очистить элемент управления OCX. Не освобождайте его, но посмотрите, есть ли у него функция «Закрыть», «Очистить» или «Завершить» или другой метод очистки, который необходимо вызвать. И снова, не используйте глобальные переменные для интерфейсных типов, таких как элементы управления OCX.