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

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

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

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

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

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

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

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

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


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

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

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

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

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


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

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

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

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


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