Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 05.04.2008
Сообщений: 73

Динамические контролы

27.01.2009, 17:51. Показов 1754. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В ActiveX DLL кладу Юзер контрол, в него набиваю:
Code
1
2
3
Sub foo()
    MsgBox 'Yoy!'
End Sub
В основном проекте пишу:
Code
1
2
3
4
...
    Form1.Controls.Add 'Имя_DLL.Контрол', Control
    Control.foo
...
На последней строке пишет, что метод не поддерживается. Почему?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.01.2009, 17:51
Ответы с готовыми решениями:

Xp контролы
Подскажите пожалуйста, скачал xp контролы они были в формате setup.exe, попробывал установить, вроде установились, но при запуске бейсика,...

Как можно синхронизировать контролы?
На форме есть несколько контролов. Нужно чтобы при изменении в одном из контролов произошли изменения и в других. Вот упрощенный пример:...

Как перечислить контролы во фрейме?
Сделал вот так: Option Explicit Private Sub Form_Load() Dim Ctl As Control Dim Ctl_2 As Control Dim Btn...

10
0 / 0 / 0
Регистрация: 19.02.2008
Сообщений: 25
12.02.2009, 10:03
Привет.

Все потому, что ДЛЛ не может содержать Юзер контролы являющиеся Public.

Для этого существуют проекты типа ActiveX Control.
0
0 / 0 / 0
Регистрация: 05.04.2008
Сообщений: 73
14.02.2009, 09:49  [ТС]
Но ведь контрол создается, только моих методов у него нет!
0
Vita
16.02.2009, 16:41
Code
1
2
3
  Dim x As Object
  Set x = Form1.Controls.Add('Имя_DLL.Контрол', 'как-то')
  x.foo
0 / 0 / 0
Регистрация: 19.02.2008
Сообщений: 25
16.02.2009, 19:00
Доброго времени суток.

Я конечно дико извеняюсь, но по моему, это невозможно. Может пришлете мне примерчик такой реализации?
0
Vita
17.02.2009, 10:09
Code
1
2
3
4
5
6
7
8
9
Private Sub Form_Load()
  Dim x As Variant
'  Dim x As Object
'  Dim x As Control
'  Dim x As CommandButton
  Set x = Controls.Add('VB.CommandButton', 'xxx')
  x.Visible = True
  x.Move 100, 100
End Sub
Появится кнопка.
0 / 0 / 0
Регистрация: 19.02.2008
Сообщений: 25
17.02.2009, 11:19
Доброго времени суток.

Это конечно очень интересно, но это использование стандартного контрола.
А попробуй сделать так со своим контролом, самописным, лежащим во внешней ДЛЛ.

?
0
Vita
17.02.2009, 13:45
WestAdmin:
Ну право недоверчивый ты!
Code
1
2
3
4
5
Private Sub Form_Load()
  Dim x As Object
  Set x = Controls.Add('ViControl.UserControl1', 'xxx')
  x.Visible = True
End Sub
ViControl - это обычный UserControl контрол, без наворотов и одной Label на нем. Никаких ссылок на ViControl в проекте с Form_Load нет, используется только лишь имя 'ViControl.UserControl1'.
0 / 0 / 0
Регистрация: 19.02.2008
Сообщений: 25
17.02.2009, 14:20
Доброго времени суток.

Зри в корень!
т.е. прочитай первое сообшение!

Речь идет о DLL а не про OCX!
С ocx все понятно. Я ж тоже не полный профан!
0
Vita
17.02.2009, 14:45
Я ориентировался на ответ P@Ssword
'Но ведь контрол создается, только моих методов у него нет!'
Т.е. контрол создается. Тогда доступ к нему должен идти через Late Binding, через Object.

0 / 0 / 0
Регистрация: 05.04.2008
Сообщений: 73
21.02.2009, 08:26  [ТС]
2 Vita

Я в постах не видел вызова процедур. Они точно работают?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.02.2009, 08:26
Помогаю со студенческими работами здесь

Контролы для работы с моделями из 3d max'a?
Есть ли какие-нибудь контролы для работы с моделями из 3d max'a?

Контролы в Windows XP и соответсвие текущей теме.
Может кто-нибудь знает почему контролы в написанной на VB6 программе не соответсвуют выбранной теме Windows XP, а воспроизводятся в...

Найти внутренне окна/контролы приложения
Народ помогите чутка, какими функциями добратся до дочерних окон/контролов (в том числе скрытых) приложения? Пробовал функцию...

Нужно помещать данные из ASP в контролы на форме
Создал несколько нестандартных контролов для работы с ASP. Затем помещаю их на форму, которую также компилирую, как ocx. Теперь стоит...

НА XP при запуске программы все контролы не XP'шные.
U menia Windows XP. Kogda zapuskaiu VB programmi, to vse kontrols(krome nekotoris, kakih tochno ne pomniu) ne XP'shnie. Chto delat`, ne...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru