Заполнить список VB6 одной инструкцией
В VB6 я, кажется, не могу этого сделать:
myListBox.List = listContentStringArrray
VB жалуется на ошибку компиляции, говоря "аргумент не является необязательным", очевидно, потому что .List(index)
требует, ну, индекса.
В VBA работает следующий код:
Private Sub CommandButton1_Click()
Dim result() As String
ReDim result(0)
result(0) = "hello"
ReDim Preserve result(1)
result(1) = "world"
ListBox1.List = result
End Sub
Глядя наобозреватель объектов я обнаружил, что список в VBA действительно MSForms.ListBox
, а в VB6 это VB.ListBox
.
Свойство VBA ListBoxList объявляется как Property List([pvargIndex], [pvargColumn])
, а в VB6 это Property List(Integer) As String
, где мой проблема приходит от.
VB.ListBox
для MSForms.ListBox
в существующей базе кода, ничего не нарушая, или MSForms
был разработан для использования только в VBA, поскольку библиотека "VB" не включена в VBA? Если я ссылаюсь на FM20.dll
в моем проекте VB6, я могу видеть MSForms.ListBox
в обозревателе объектов, но не в панели инструментов.1 ответ:
В приложении VB6 можно использовать элементы управления
Forms 2.0
. Например, это один из способов получить элементы управления, поддерживающие Unicode (см. Как читать и отображать строку UNICODE в Visual Basic Form KB article).Если я ссылаюсь на FM20.dll в моем проекте VB6, я могу видеть MSForms.Список в обозревателе объектов, но не в панели инструментов.
Чтобы добавить элементы управления в Панель инструментов, необходимо добавить
Но, честно говоря, если все, что вам нужно, - это возможность "заполнить список VB6 одной инструкцией", это огромный перебор. Просто Закодируйте процедуру, которая делает это для обычного VB6Microsoft Forms 2.0 Object Library
через пункт меню Project / Components (Ctrl+T ):ListBox
, и все готово.Также имейте в виду, что формы 2.0 управления не являются перераспределяемыми. Из информация: использование и перераспределение FM20.DLL КБ:
Fm20.dll не распространяется. У вас должно быть приложение такое как Microsoft Office 97 на целевой системе, устанавливающей Fm20.dll как часть его установки... В любом случае, вы не можете распространять fm20 приводит к утечке.файл DLL как часть вашей установки, даже если вы покупаете Microsoft Office Продукт Developer Edition.
Как альтернатива вашим конечным пользователям установите Microsoft Office, вы можете их свободно скачать и установите Панель управления Microsoft ActiveX, которая также устанавливает Fm20.файл DLL.