![]() |
|
Модераторы: Akina |
![]()
|
|
| Рома |
|
|||
|
Unregistered |
как задать переменной адресс подпрограммы а затем вызвать ее через "CALL peremenaja" в vb6.
|
|||
|
||||
| Exception |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 7 Всего: 186 |
не понял вопроса. Если надо вызвать процедуру, это делается так:
или так:
а вообще покопайся в литературе и подучи язык, прежде чем задавать такие вопросы на форуме |
||||
|
|||||
| Рома |
|
|||
|
Unregistered |
Sub Main
peremenaja = Sub SayHello() Call peremenaja 'Вызываем процедуру SayHello, но через переменную и только так End Sub '--------- Sub SayHello() Msgbox "Hello!" End Sub Но понятное дело так(в таком виде) В VB6.0 не работает. А как такое сделать я не знаю. Кто может помогите. |
|||
|
||||
| Voldemar2004 |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1650 Регистрация: 25.12.2004 Репутация: 7 Всего: 23 |
Добавлено @ 12:45 Или ты чего хочешь-то? Чтобы какой-то переменной в процедуре присваивалось значение?
-------------------- i_i (';') (V) ![]() |
||||
|
|||||
| Plamenk |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 258 Регистрация: 18.2.2003 Репутация: нет Всего: 3 |
Я знаю только, как вызвать функцию по имени: CallByName(...).
А по адрессу ... это не Си А ... есть ещё AddressOf, которая получает адресс функции, но это используется в основном для CallBack вызовов. Это сообщение отредактировал(а) Plamenk - 14.10.2005, 15:41 |
|||
|
||||
| Exception |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 7 Всего: 186 |
Рома почему именно так тебе надо?!
|
|||
|
||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 19 Всего: 99 |
-------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
| Рома |
|
|||
|
Unregistered |
Есть таблица действий (и их очень много, к примеру 200 значений) и каждое действие ведет к определенной подпрограмме.
Т. е. я сделал тото ,присвоил этому действию N номер и по этому N номеру из таблици берется указатель на опред. подпрограмму. Грубо говоря: N=1 peremenaja = tabinfo(N) 'tabinfo(1)=Sub seyhello() call peremenaja А если: N=2 peremenaja = tabinfo(N) 'tabinfo(2)=Sub exit() call peremenaja Понятно , что через оператор Case, очень неудобно. И так далее. И потом очень выглядит красиво,мало занимает места и работает быстро: Private Sub CallSubX(N) peremenaja = tabinfo(N) call peremenaja End Sub Может через функции DirectX можно задать переменной адресс подпрограммы, а затем перейти к ней по Call peremenaja. |
|||
|
||||
| Exception |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 7 Всего: 186 |
да НЕЛЬЗЯ так делать!
тебе ведь сказали: юзай CallByName! в чём проблема?! |
|||
|
||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 19 Всего: 99 |
Посмотри на этот пример...
Присоединённый файл ( Кол-во скачиваний: 2 )
howto_callbyname.zip 4,99 Kb-------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
![]()
|
| Правила форума "VB6" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | VB6 | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |