Страница: 1 |
Из книги примеры пробовал делать, вроде все получается. Пришла мне в голову мысль попробовать самому что-нибудь написать. Остановился на active который будет выводить диаграмму типа как в Екселе. На этот актив будет передаваться массив двумерный (1 - числа, 2 - имена). И по данным этого массива будут чертиться разноцветные столбцы. Внизу будут имена, а столбцы будут показывать величину чисел по конкретному имени. Но как в активХ передать этот массив?
Способы, которые пришли на ум сразу: 1. Тип Variant - и передавать весь массив целиком 2. Создать метод Add(Имя as String, Значение as Single) и добавлять данные в динамический массив в теле метода 3. Создать индексированное свойство с пользовательским типом, в который "зашить" и имя, и значение. Я и передаю его целиком, только где в активеХ его принимать? АктивХ называется CtrlDiagramma1 В начале актива описываю переменную Потом сделал свойство Public WriteOnly Property InValue() as String Public mArray = Value ****** активХ в этом месте выдает ошибку ****** Print(mArray) а из самой формы (Form1) пробую запускать CtrlDiagramma1.InArray = Array а форма в этом месте выдает ошибку. Пробовал переделывать тип переменной на Variant не помогает. У тебя же mArray - массив строк, а Value в свойстве - просто строка. Поэтому присваивание не получается - несоответствие типов. Объяви свойство as Variant. И Value as Variant тоже. Public WriteOnly Property InArray() as Variant Set(ByVal Value as Variant) mArray=Value End Set End Property Обрабатывай mArray, не забывая, что это массив. Ура!!! Заработало. Спасибо за помощь grayk . Страница: 1 |
Вопрос: Начал я изучать ActiveX ...
Добавлено: 22.09.03 14:52
Автор вопроса: sArutiun | ICQ: 153685354
Ответы
Всего ответов: 4
Номер ответа: 1
Автор ответа:
grayk
Вопросов: 5
Ответов: 100
Профиль | | #1
Добавлено: 22.09.03 15:12
Номер ответа: 2
Автор ответа:
sArutiun
ICQ: 153685354
Вопросов: 11
Ответов: 42
Профиль | | #2
Добавлено: 22.09.03 15:41
Номер ответа: 3
Автор ответа:
grayk
Вопросов: 5
Ответов: 100
Профиль | | #3
Добавлено: 22.09.03 15:59
Номер ответа: 4
Автор ответа:
sArutiun
ICQ: 153685354
Вопросов: 11
Ответов: 42
Профиль | | #4
Добавлено: 22.09.03 16:21