Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
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 ? |
Колись, ты что-то про это знаешь?
В оригинальном 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 ? |
Колись, ты что-то про это знаешь?
|
Если нет дебагера приходится качать телепатию
иногда когда создаёшь расширение возникает подобная проблема, чтобы отрабатывал main расширения ,а не расширяемой.
Это возможно реализовать если в расширяемой есть execute (передать в основную скрипт exit чтоб вышел из main) |
|
 |
Amper Профи
Вступление в Клуб: 29.10.2010
|
Пт Фев 13, 2015 04:27   |
|
Полезность: Нет оценки
|
Alkov пишет: | Если нет дебагера приходится качать телепатию |
Так для VB есть же дебаггер (хоть и не очень полноценный). |
|
 |
Alkov Профи
Вступление в Клуб: 23.09.2010
|
Пт Фев 13, 2015 04:56   |
|
Полезность: Нет оценки
|
Amper пишет: | Alkov пишет: | Если нет дебагера приходится качать телепатию |
Так для VB есть же дебаггер (хоть и не очень полноценный). |
Да это я в целом про IBSO... |
|
 |
|