Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как "попасть" в область видимости библиотеки юзерконтролов? / 15 сообщений из 15, страница 1 из 1
27.08.2009, 12:35
    #36165850
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как "попасть" в область видимости библиотеки юзерконтролов?
Есть группа проектов VB6:
1) основной EXE-проект
2) библиотека контролов (ActiveX Control project)

Основной проект юзает контролы из библиотеки.

Требуется:
Основной проект программирует некую переменную, которая попадает в область видимости всех контролов библиотеки. То есть каждый контрол при возникновении у себя события Initialize должен иметь возможность ее прочитать.

Никак не могу сообразить, как это сделать и возможно ли стандартными средствами, типа завести какой-нибудь класс, видимый из основного проекта...
...
Рейтинг: 0 / 0
27.08.2009, 15:57
    #36166495
Core12
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как "попасть" в область видимости библиотеки юзерконтролов?
Кстати хороший вопрос тока пока сам не могу понять как сделать решние ходит где то рядом...
...
Рейтинг: 0 / 0
27.08.2009, 15:57
    #36166500
Core12
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как "попасть" в область видимости библиотеки юзерконтролов?
Может стоит сделать типа AXDLL там описать класс , а потом его подключить к обоим проектам.
...
Рейтинг: 0 / 0
27.08.2009, 16:21
    #36166551
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как "попасть" в область видимости библиотеки юзерконтролов?
Core12Может стоит сделать типа AXDLL там описать класс , а потом его подключить к обоим проектам.

А как им подключиться к одному и тому же экземпляру класса?
...
Рейтинг: 0 / 0
27.08.2009, 16:23
    #36166558
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как "попасть" в область видимости библиотеки юзерконтролов?
Может в VB6 можно определить переменную, которая будет видна всем экземплярам одного класса?
в .NET такое есть....

Вопрос только, будет ли такая переменная видна, если экземпляры класса находятся не в пределах одного проекта?
...
Рейтинг: 0 / 0
27.08.2009, 18:37
    #36166874
Бенедикт
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как "попасть" в область видимости библиотеки юзерконтролов?
Shocker.ProЕсть группа проектов VB6:
1) основной EXE-проект
2) библиотека контролов (ActiveX Control project)

Основной проект юзает контролы из библиотеки.

Требуется:
Основной проект программирует некую переменную, которая попадает в область видимости всех контролов библиотеки. То есть каждый контрол при возникновении у себя события Initialize должен иметь возможность ее прочитать.

Никак не могу сообразить, как это сделать и возможно ли стандартными средствами, типа завести какой-нибудь класс, видимый из основного проекта...Можно использовать класс с Instancing = 6 (GlobalMultiUse), см. файл.
P. S. На всякий случай, TFM здесь .
...
Рейтинг: 0 / 0
27.08.2009, 20:06
    #36166983
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как "попасть" в область видимости библиотеки юзерконтролов?
БенедиктМожно использовать класс с Instancing = 6 (GlobalMultiUse), см. файл.


О, спасибо огромное
Код вполне ясен, ща буду внедрять.
...
Рейтинг: 0 / 0
27.08.2009, 20:23
    #36166994
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как "попасть" в область видимости библиотеки юзерконтролов?
Работает.

Для удобства сделал и чтение и запись глобальных переменных через Property Get/Let

Еще раз большое спасибо
...
Рейтинг: 0 / 0
04.04.2010, 00:23
    #36559563
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как "попасть" в область видимости библиотеки юзерконтролов?
Оживлю тему...

Я правильно понимаю -- принципы "hell dll" подразумевают то, что эта библиотека будет загружена в память один раз, даже если ее юзают несколько приложений одновременно? То есть, если одно приложение поменяет глобальную переменную (как описано выше), то она поменяется в области видимости всех приложений?

(Вопрос из любопытства, проблемой это не является, можно завеси в классе идентификатор приложения чтобы это обойти, но пока не нужно)


А основной вопрос такой. Хотелось бы инициализировать эти переменные независимо от инициализации класса (то есть экземпляр класса обмена с приложениями теоретически может быть вообще не создан, а переменные должны иметь определенное значение). В голову приходят два возможных решения:
1) Делать переменные типа Variant, юзать через функции, которые инициализируют переменную, если она Empty
2) Вызывать функцию инициализации переменных из Initialize всех контролов, функция будет проверять не вызывалась ли она раньше, если нет - инициализировать переменные

Как-то некрасиво, может есть способ проще, может событие какое возникает при появлении библиотеки в памяти?...
...
Рейтинг: 0 / 0
04.04.2010, 13:15
    #36559728
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как "попасть" в область видимости библиотеки юзерконтролов?
Shocker.ProКак-то некрасиво, может есть способ проще, может событие какое возникает при появлении библиотеки в памяти?...Sub Main
...
Рейтинг: 0 / 0
05.04.2010, 00:09
    #36560292
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как "попасть" в область видимости библиотеки юзерконтролов?
AntonariySub Main

И действительно.
Спасибо.
...
Рейтинг: 0 / 0
07.04.2010, 00:55
    #36564678
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как "попасть" в область видимости библиотеки юзерконтролов?
AntonariySub Main

Тока вот беда.... в дизайн-тайме она не выполняется...
...
Рейтинг: 0 / 0
07.04.2010, 11:22
    #36565194
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как "попасть" в область видимости библиотеки юзерконтролов?
А зачем оно в дизайн-тайме?
...
Рейтинг: 0 / 0
07.04.2010, 11:26
    #36565203
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как "попасть" в область видимости библиотеки юзерконтролов?
Часть переменных касаются внешнего вида.
Я начинаю видеть форму не так, как она будет в рантайме :)
...
Рейтинг: 0 / 0
07.04.2010, 14:53
    #36566090
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как "попасть" в область видимости библиотеки юзерконтролов?
Тогда 2)
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как "попасть" в область видимости библиотеки юзерконтролов? / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]