www.map-info.ru :: Просмотр темы - Программное нажатие на кнопку из Delphi
                               РќР° главную страницу сайта

 
                                
ВходВход    РегистрацияРегистрация    ПрофильПрофиль    ПользователиПользователи    ГруппыГруппы    FAQFAQ    ПоискПоиск  

 
   Список форумов www.map-info.ru | Форум - программирование в среде MapInfo Добавить ответ
Предыдущая тема :: Следующая тема  
Автор Сообщение
nexys



Зарегистрирован: 26.02.2010
Сообщения: 6

СообщениеДобавлено: Пт Фев 26, 2010 5:32 pm    Заголовок сообщения: Программное нажатие на кнопку из Delphi Добавить ответ со ссылкой на данный текст

Доброго времени суток!
Подскажите, как программно из delphi нажать на кнопку, которую я сам же и создал.
Код:

create menu "TEST" as
"test2" calling button1
Alter Menu "TEST" Add "Поиск"
Create ButtonPad "Поиск" As
pushbutton Calling button1 ID 1
Icon MI_ICON_REALESTATE_2

pushbutton
Icon MI_ICON_TRANSPORT_19
calling qqqqq
Width 2
fixed

Вот на кнопку "Поиск" и надо нажать из делфи.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Андрей Могильный



Зарегистрирован: 21.03.2006
Сообщения: 864

СообщениеДобавлено: Пт Фев 26, 2010 9:46 pm    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

Может просто достаточно вызывать обработчик кнопки? В вашем случае некая процедура qqqqq
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
nexys



Зарегистрирован: 26.02.2010
Сообщения: 6

СообщениеДобавлено: Сб Фев 27, 2010 9:09 am    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

Спасибо, что откликнулись.
Возможно я делаю что-то неверно, но судя по руководству пользователя, для вызова процедуры служит команда calling. И вот если я делаю:
Код:

command:='calling qqqqq';
MapInfoServer.Do(command);

То получаю ошибку, которую MapInfo передает в Delphi:
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
zzzio



Зарегистрирован: 20.04.2008
Сообщения: 24

СообщениеДобавлено: Сб Фев 27, 2010 9:44 am    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

Не очень хорошо помню, но разве в делфи нужно запускать команду calling? Что если просто выполнить процедуру qqqqq?

command:='qqqqq';
MapInfoServer.Do(command);
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
nexys



Зарегистрирован: 26.02.2010
Сообщения: 6

СообщениеДобавлено: Сб Фев 27, 2010 9:49 am    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

zzzio писал(а):
Не очень хорошо помню, но разве в делфи нужно запускать команду calling? Что если просто выполнить процедуру qqqqq?

command:='qqqqq';
MapInfoServer.Do(command);

Увы, но нет. В данном случае получаю сообщение отладчика - "Команда qqqqq не опознана."
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
zzzio



Зарегистрирован: 20.04.2008
Сообщения: 24

СообщениеДобавлено: Сб Фев 27, 2010 11:23 am    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

Опять же не уверен, но возможно нужно использовать оператор call, а не calling.

command:='call qqqqq';
MapInfoServer.Do(command);

Если процедура qqqqq имеет параметры, то в скобках нужно их указать
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
nexys



Зарегистрирован: 26.02.2010
Сообщения: 6

СообщениеДобавлено: Сб Фев 27, 2010 12:33 pm    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

zzzio писал(а):
Опять же не уверен, но возможно нужно использовать оператор call, а не calling.

command:='call qqqqq';
MapInfoServer.Do(command);

Если процедура qqqqq имеет параметры, то в скобках нужно их указать


Та же самая ошибка.
Решил проблему создав новый модуль (приложение *.mbx) с текстом содержащимся в qqqqq.
Из дельфи вызываю его командой:
Код:

command:='Run Application "C:\uiapp\epxDataToTxt.MBX"';
    // command:='call qqqqq';
    MapInfoServer.Do(command);
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
FedorinoFF



Зарегистрирован: 01.02.2007
Сообщения: 272
Откуда: Санкт-Петербург

СообщениеДобавлено: Вс Фев 28, 2010 8:35 pm    Заголовок сообщения: Добавить ответ со ссылкой на данный текст

я бы посоветовал обратить внимание на раздел "Интегрированная картография" в справке по MapBasic и, там же, "Объектная модель механизма управления объектами OLE". Думаю многое станет понятнее
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
   Список форумов www.map-info.ru | Форум - программирование в среде MapInfo Добавить ответ
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Top.Mail.Ru