0 / 0 / 0
Регистрация: 05.04.2008
Сообщений: 73

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

27.01.2009, 17:51. Показов 1789. Ответов 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
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru