|
Vsh
|
||||||
Как вызывать различные процедуры по одному событию?25.05.2007, 19:54. Показов 1100. Ответов 5
Метки нет (Все метки)
Не подскажите как решить в VB
Несколько различных классов содержат одну и ту же форму, эта форма вызывается из содержащего ее класса. Хочется чтоб при нажатии кнопки на форме вызывался метод из того класса из которого и сама форма. Нечто вроде:
|
||||||
| 25.05.2007, 19:54 | |
|
Ответы с готовыми решениями:
5
как сделать и вызывать процедуры БД?
Вызов процедуры по событию |
|
Vsh
|
|
| 26.05.2007, 18:56 | |
|
Забыл добавить:
Речь о VB6 в коде '** Class_1*** private frm as Form... 'содержит кнопку OK '** Class_2*** private frm as Form... 'содержит кнопку OK ---------- это одна и таже форма '** Class_1*** Public Sub M_Class1(s as string) End sub '** Class_2*** Public Sub M_Class2(d as double, s as string) End sub ------ методы могут различатся параметрами Спасибо |
|
|
Andy
|
|
| 29.05.2007, 20:34 | |
|
А ты в модуле создай переменную, типа,
Public intFormLoad%. И в классе 1 пиши ??????? ??????? intFormLoad = 1 В классе 2 ??????? ??????? intFormLoad = 2 В классе 3 ??????? ??????? intFormLoad = 3 В нужной форме Private Sub Form_Load() if intFormLoad = 1 then //////// elseif intFormLoad = 2 then /////// elseif intFormLoad = 3 then //////// end if End Sub |
|
|
Vsh
|
|
| 29.05.2007, 22:08 | |
|
Переменная селектор - не подойдет
1. может быть не 1 - 2 класса а 500 2. Форма - универсальный документ (например заказ вида Номер, дата, сумма), но заказы могут быть разные - один просто записывается, другой при записи делает какие лидо действия (отсылает экземпляр дяде Васе), и т д Решается наследованием, но нет его, указателями на функции, но и их нет
|
|
|
Mavr
|
||||||
| 30.05.2007, 08:53 | ||||||
|
Используй WithEvents:
|
||||||
|
Lev From URALs
|
||||||||||||||||
| 05.06.2007, 13:25 | ||||||||||||||||
|
Еще вариант:
в форму помещаем ссылку на родительский класс (объявляем глобально), при создании класса, например, создаем экземпляр формы, присваиваем значение ссылки экземпляру класса. Далее, где надо работаем с классом - как хотим, через ссылку на экземпляр в тек. экземпляре формы. Пример: (сделан в MS Excel, т.к. VB на этой машине не стоит. В VB он тоже будет работать) Итак: открываем новую книгу, на первом листе рисуем 4 кнопки, в проекте добавляем класс MyClass, форму UserForm1, на которую кнопку CB1. Код: в UserForm1:
в Лист1:
в MyClass:
1) нажимаем кнопку CommandButton1 -- создание всех объектов 2) нажимаем на кнопки CommandButton2 - CommandButton4 -- соответствующие классы показывают свои экземпляры формы, нажимая на кнопку в которых - вызывается метод этого класса. PS: конечно же это могли быть экземпляры разных классов - тогда эти классы должны иметь одинаковые методы (в нашем примере - Show), с одинаковым именем и параметрами, а при объявлении ссылку на родительский класс в форме нужно описать с типом Object. PSS: Проблема предыдущего предложения - когда при работе с формой родительский класс может быть уничтожен - здесь места не имеет, т.к. вся форма - это поле (свойство) класса, при удалении экземпляра класса форма тоже будет удалена. PSSS: в этом примере маленький минус, который легко обойти: все время жизни экземпляра класса его форма загружена в памяти полностью. Соответственно, если экземпляров 10000, то возникнут проблемы с памятью. Для решения - модифицируем объявление формы в классе, а загрузку и начальные присваивания в форме делаем непосредственно перед показом и сразу за ним удаляем (форму). Уф. вроде все! |
||||||||||||||||
| 05.06.2007, 13:25 | |
|
Помогаю со студенческими работами здесь
6
Доступ к событию из процедуры
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию.
2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO
Апнулись до NET10.
Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта
так и в интерактивном режиме. из сложностей - чисто функциональный подход.
Решил. . .
|