Библиотека элементов управления ActiveX для Visual Basic 6, содержащая различные типы полей со списком и списков.
Я разработал этот элемент управления ActiveX в 2009 году и регулярно обновлял его до 2016 года. В настоящее время у меня нет особого интереса продолжать поддерживать этот проект, но я думаю, что этот код может быть полезен другим.
Если вы вносите изменения в код и развертываете двоичный файл, имейте в виду, что элементы управления ActiveX являются компонентами COM и, следовательно, должны оставаться двоично совместимыми до тех пор, пока вы не измените COM-объект, то есть имя открытого класса элемента управления ActiveX и идентификаторы GUID. В противном случае люди, использующие эти компоненты, скорее всего, попадут в знаменитый COM-ад.
Вам понадобится Microsoft Windows 10 SDK, ATL и WTL 10.
В некоторых версиях ATL есть ошибка в AtlIPersistPropertyBag_Load
, которая приводит к сбоям. В файле atlcom.h найдите AtlIPersistPropertyBag_Load
. Внутри реализации этой функции найдите HRESULT hr = pPropBag->Read(pMap[i].szDesc, &var, pErrorLog);
. Убедитесь, что перед этой строкой указан следующий код: var.pdispVal = NULL;
.