Помимо лицензирования, есть пара других пунктов поездки с vb6. Особенно , если OCX был разработан в VB6.
Если это так, «официально» зарегистрированная в системе версия может конфликтовать с конкретным ocx, который вы используете. Другими словами, оба могут иметь одно и то же собственное имя (или classid), но тот, который вы пытаетесь использовать, может не реализовывать все функции, описанные в зарегистрированной системе (т. Е. У вас менее развитая версия). Это возникает, когда автор желает поддерживать двоичную совместимость, одновременно улучшая функциональность элемента управления. Пока открытые интерфейсы остаются совместимыми, vb не будет пересчитывать classid.
Вы можете исправить это, принудительно отменив регистрацию конкретного элемента управления (фактически отмените регистрацию всех экземпляров элемента управления). (regsvr32 / u control.ocx) Затем заново зарегистрируйте тот, который вы собираетесь использовать. Убедитесь, что при этом не существует запущенного экземпляра VB6, иначе результаты могут не работать. (Проверьте список задач)
Надеюсь, это поможет ...