CftClub.ru
Клуб специалистов ЦФТ-Банк

VBA 2 штуки MAIN при '#include - как бы первый убрать?

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Справочник PL/PLUS: Функции, примеры, приёмы
Предыдущая тема :: Следующая тема  
Автор Сообщение
Damir
Участник - экстремал


Вступление в Клуб: 29.03.2013
СообщениеЧт Фев 12, 2015 10:53   VBA 2 штуки MAIN при '#include - как бы первый убрать? Ответить с цитатой
Полезность: Нет оценки
Добрый день!
Есть отлаженная операция (пусть будет ::[A].[A]), форма+VBA работают.

Создаю новую операцию - просто скопировал ::[A].[A] (пусть будет ::[A].[B]).
В секции [Клиент-скрипт] операции ::[A].[B] всё удаляю и
прописываю вставку тела операции
'#include ::[A].[A]

Замечательно, всё работает!
Делее.....
Встает задача модификации VBA-скрипта ::[A].[B]
КАК написать свой обработчик MAIN (#include убирать нельзя - там куча нужных процедур - помимо ненужного MAIN)
Т.е.
'#include ::[A].[A]
- должен вставить всё, кроме MAIN
Alkov
Профи


Вступление в Клуб: 23.09.2010
СообщениеЧт Фев 12, 2015 11:22    Ответить с цитатой
Полезность: Нет оценки
А в чём проблема, если пишешь свой main ,то они оба что ли выполняются ?
А в оригинальном main случайно нет в начале чего-н типа execute v_EXEC ?
Damir
Участник - экстремал


Вступление в Клуб: 29.03.2013
СообщениеЧт Фев 12, 2015 13:33    Ответить с цитатой
Полезность: Нет оценки
Alkov пишет:
А в чём проблема, если пишешь свой main ,то они оба что ли выполняются ?
А в оригинальном main случайно нет в начале чего-н типа execute v_EXEC ?


Вопрос снимается - я просто глюкнул....
Вобщем, дело было так...
Если в свойствах формы не указано "...Клиент...", то клиентский валидатор и не вызывается - что и было поначалу.
Но потом... простого выставления этого свойства + перекомпиляция операции - вот всего этого недостаточно....
Надо было еще Нафигатор перегрузить. похоже он кеширует свойства операций (в том числе и "...Клиент...")

Все работает.
Main вызывается последний (т.е. Main в include не учитывается)
Damir
Участник - экстремал


Вступление в Клуб: 29.03.2013
СообщениеЧт Фев 12, 2015 16:09    Ответить с цитатой
Полезность: Нет оценки
Alkov пишет:

А в оригинальном main случайно нет в начале чего-н типа execute v_EXEC ?

Колись, ты что-то про это знаешь? Smile

В оригинальном MAIN было это (ну да, Execute):

Код:
   if len(trim(Server2Client.Text)) <> 0  then
      Execute Server2Client.Text
      Server2Client.Text = ""
   end if


VBS выдавал ошибку на эту строчку (перед этой строчкой, но она была пустая). Шаманил-шаманил... В результате оно прошло 'само'.
глюк VBS какой-то.
А главное, я так и не понял откуда как его лечить.
lexus
Профи


Вступление в Клуб: 28.09.2007
СообщениеЧт Фев 12, 2015 18:34    Ответить с цитатой
Полезность: Нет оценки
Damir пишет:

Надо было еще Нафигатор перегрузить. похоже он кеширует свойства операций (в том числе и "...Клиент...")

В меню Управление есть команда "Выгрузить формы операций" - она сбрасывает кэш форм (и клиент-скрипта)
Alkov
Профи


Вступление в Клуб: 23.09.2010
СообщениеПт Фев 13, 2015 03:13    Ответить с цитатой
Полезность: Нет оценки
Damir пишет:
Alkov пишет:

А в оригинальном main случайно нет в начале чего-н типа execute v_EXEC ?

Колись, ты что-то про это знаешь? Smile

Если нет дебагера приходится качать телепатию Smile
иногда когда создаёшь расширение возникает подобная проблема, чтобы отрабатывал main расширения ,а не расширяемой.
Это возможно реализовать если в расширяемой есть execute (передать в основную скрипт exit чтоб вышел из main)
Amper
Профи


Вступление в Клуб: 29.10.2010
СообщениеПт Фев 13, 2015 04:27    Ответить с цитатой
Полезность: Нет оценки
Alkov пишет:
Если нет дебагера приходится качать телепатию Smile

Так для VB есть же дебаггер (хоть и не очень полноценный).
Alkov
Профи


Вступление в Клуб: 23.09.2010
СообщениеПт Фев 13, 2015 04:56    Ответить с цитатой
Полезность: Нет оценки
Amper пишет:
Alkov пишет:
Если нет дебагера приходится качать телепатию Smile

Так для VB есть же дебаггер (хоть и не очень полноценный).

Да это я в целом про IBSO...
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Справочник PL/PLUS: Функции, примеры, приёмы Часовой пояс: GMT + 3
Страница 1 из 1

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