| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > VB6 > как задать переменной адресс подпрограмм |
| Автор: Рома 13.10.2005, 14:03 |
| как задать переменной адресс подпрограммы а затем вызвать ее через "CALL peremenaja" в vb6. |
| Автор: Exception 13.10.2005, 14:19 | ||||
не понял вопроса. Если надо вызвать процедуру, это делается так:
или так:
а вообще покопайся в литературе и подучи язык, прежде чем задавать такие вопросы на форуме |
| Автор: Рома 14.10.2005, 11:51 |
| Sub Main peremenaja = Sub SayHello() Call peremenaja 'Вызываем процедуру SayHello, но через переменную и только так End Sub '--------- Sub SayHello() Msgbox "Hello!" End Sub Но понятное дело так(в таком виде) В VB6.0 не работает. А как такое сделать я не знаю. Кто может помогите. |
| Автор: Voldemar2004 14.10.2005, 12:42 | ||||
Добавлено @ 12:45 Или ты чего хочешь-то? Чтобы какой-то переменной в процедуре присваивалось значение?
|
| Автор: Plamenk 14.10.2005, 15:37 |
| Я знаю только, как вызвать функцию по имени: CallByName(...). А по адрессу ... это не Си А ... есть ещё AddressOf, которая получает адресс функции, но это используется в основном для CallBack вызовов. |
| Автор: Exception 14.10.2005, 16:45 |
| Рома почему именно так тебе надо?! |
| Автор: cardinal 14.10.2005, 19:35 |
| http://forum.vingrad.ru/index.php?showtopic=16767 |
| Автор: Рома 15.10.2005, 09:17 |
| Есть таблица действий (и их очень много, к примеру 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 15.10.2005, 09:52 |
| да НЕЛЬЗЯ так делать! тебе ведь сказали: юзай CallByName! в чём проблема?! |
| Автор: cardinal 15.10.2005, 15:26 |
| Посмотри на этот пример... |