Получить имя процедуры из пременной....

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Alex404
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 109
Зарегистрирован: 22.09.2002 (Вс) 10:58

Получить имя процедуры из пременной....

Сообщение Alex404 » 20.12.2004 (Пн) 19:48

Можно ли получить имя процедуры ( SUB ) из текстовой переменной и запустить ее.
Спасибо

Ariman
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 817
Зарегистрирован: 02.09.2003 (Вт) 16:23
Откуда: Великая наша держава, г.Москва

Сообщение Ariman » 20.12.2004 (Пн) 20:27

Напрямую - вряд ли.... Хотя я не уверен. Я бы сделал так:
объявил JumpTabel(массив указателей на функцию), а лучше не массив, а MAP связав указатели с именем переменной. но это для C++, а как подобное реализовать в ВБ(в частности, указатель на функцию) - я не знаю.......

Alex404
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 109
Зарегистрирован: 22.09.2002 (Вс) 10:58

Сообщение Alex404 » 20.12.2004 (Пн) 21:22

Може я чего и не понял

Еще как понял!!!
Go To в моем случае -это действительно выход!!! SELECT Case здохнет обрабатывать 1500 условий, а GO TO сразу отправит куда надо!!!
Спасибо огромное! :thumleft:

Alex404
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 109
Зарегистрирован: 22.09.2002 (Вс) 10:58

Сообщение Alex404 » 20.12.2004 (Пн) 21:37

Не понял... Только что здесь был чей-то ответ (с Go To)....

codemaster
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 604
Зарегистрирован: 13.02.2004 (Пт) 13:35

Re: Получить имя процедуры из пременной....

Сообщение codemaster » 20.12.2004 (Пн) 22:48

Alex404 писал(а):Можно ли получить имя процедуры ( SUB ) из текстовой переменной и запустить ее.
Спасибо


см.CallByName

http://support.microsoft.com/default.as ... -us;186143

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 21.12.2004 (Вт) 9:02

codemaster, CallByName не прокатит с процедурами в модуле, а автору нужны именно они, насколько я понял.
Lasciate ogni speranza, voi ch'entrate.

Alex404
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 109
Зарегистрирован: 22.09.2002 (Вс) 10:58

Сообщение Alex404 » 21.12.2004 (Вт) 10:13

CallByName не прокатит с процедурами в модуле, а автору нужны именно они, насколько я понял.

Совершенно верно.
Вообще восторг по поводу GO TO высказанный выше был не оправдан. Какая блин разница - что имя процедуры из переменной не получить, что метку в виде переменной не передать. Облом....
Однако в конструкцию shell имя exe-шника можно подавать в виде переменной. Отсюда новый вопрос: как создать исполняемую программу(EXE-файл), запускающуюся из командной строки С ПАРАМЕТРАМИ! Ну типа:
C:\MyApp.exe -Par1 -Par2
Сам что-то не нашел... Может кто подскажет?
Спасибо заранее

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 21.12.2004 (Вт) 10:55

Предлагаю перегнать весь код в класс с публичными методами. Тогда можно будет использовать CallByName.
Lasciate ogni speranza, voi ch'entrate.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот, Yandex-бот и гости: 5

    TopList  
cron