Тема: Как использовать Процедуру из другого скрипта

Понимаю, что вопрос дурацкий, но сам не нашел как сделать
Есть процедура описанная в Общесистемном скрипте
Нужно ее использовать в нескольких скриптах для Типов обектов
Как подключить этот скрипт не могу понять, нужно что-то типа "USE",
но видимо в VB другое ключевое слово, да и название модуля надо определить

Re: Как использовать Процедуру из другого скрипта

Попробуй через ThisApplication.ExecuteScript
Синтаксис в TDMS API Help.

PS: Кстати зачем частоиспользуемые процедуры и функции вставлять именно в общесистемный скрипт. Могу порекомендовать создать отдельную команду (типа VBS), где описать все эти функции. Можно создать несколько команд с процедурами связанными со статусами, ролями, сообщениями и т.д. чтобы не запутаться в них.

Re: Как использовать Процедуру из другого скрипта

Попробуй через ThisApplication.ExecuteScript
Синтаксис в TDMS API Help.

А SysID этого общесистемного скрипта какой? Нигде в интерфейсе TDMS я этого не нашел.

Re: Как использовать Процедуру из другого скрипта

Slava.Coder.Vrn пишет:

А SysID этого общесистемного скрипта какой? Нигде в интерфейсе TDMS я этого не нашел.

Да, это главный вопрос, как добраться до процедуры?
Допустим даже все процедуры собраны в отдельной команде (аналог модуля)
ThisApplication.ExecuteScript это то же, что и подключение модуля?

Re: Как использовать Процедуру из другого скрипта

Не подключение, а выполнение процедуры или функции из другой команды.
Т.е. при повторном вызове надо будет еще раз писать ExecuteScript.

(изменено: Anatoly, 13 апреля 2007г. 15:04:41)

Re: Как использовать Процедуру из другого скрипта

Значит так  :)
Создаём команду, к примеру sysid = TestC

В этой команде пишем процедуру

Sub x1()
  msgbox "отработал use"
End Sub

Далее, в скрипте объекта пишем верхней строкой

use TestC

'Всё :) Далее можно вызывать процедуры и функции этого модуля, т.е., к примеру

Sub Object_BeforeCreate(Obj, Parent, Cancel)
call x1
End Sub

P.S. если надо, могу ролик прикрепить, как это делается

PS: Кстати зачем частоиспользуемые процедуры и функции вставлять именно в общесистемный скрипт. Могу порекомендовать создать отдельную команду (типа VBS), где описать все эти функции. Можно создать несколько команд с процедурами связанными со статусами, ролями, сообщениями и т.д. чтобы не запутаться в них.

прав, на 100%

Re: Как использовать Процедуру из другого скрипта

Mishaf пишет:

Не подключение, а выполнение процедуры или функции из другой команды.
Т.е. при повторном вызове надо будет еще раз писать ExecuteScript.

ЗЫ: Забыл добавить... Это в случае работы с 2.0
В 3.0 - можно использовать USE

Re: Как использовать Процедуру из другого скрипта

Но ведь нельзя никак обратится к общеситиемному скрипту, поскольку у него нет SysID? Так?

Re: Как использовать Процедуру из другого скрипта

А зачем обращаться к функциям и процедурам общесистемного скрипта?

(изменено: Slava.Coder.Vrn, 14 апреля 2007г. 15:57:55)

Re: Как использовать Процедуру из другого скрипта

Я думаю, что незачем. Но ветка началась именно с этого вопроса  :)
Я тоже поначалу пытался пихать в общесистемный скрипт общие функции, потом понял, что общесистемный скрипт предначначен не для этого  :)

Re: Как использовать Процедуру из другого скрипта

Про использование функций понял

Slava.Coder.Vrn пишет:

Я тоже поначалу пытался пихать в общесистемный скрипт общие функции, потом понял, что общесистемный скрипт предначначен не для этого  :)

Как тогда можно использовать общесистемный скрипт?

(изменено: Slava.Coder.Vrn, 17 апреля 2007г. 09:45:21)

Re: Как использовать Процедуру из другого скрипта

SafiullinMF пишет:

Про использование функций понял
Как тогда можно использовать общесистемный скрипт?

Насколько я знаю, в нем находятся функции-обработчики глобальных TDMS-событий - запуск/закрытие TDMS, изменение объектов (вне зависимости от типа объекта), открытие/закрытие форм (тоже не зависящее от типа формы) и т.д.
В окне редактора скрипта есть пимпочка со значком молнии - если на нее нажать, то появится список обработчиков событий, разрешенных для открытого в данный момент модуля  :) Можно выбрать любой на свой вкус  :)

Re: Как использовать Процедуру из другого скрипта

Всё правильно  :)
Общесистемный скрипт предназначен как раз для этого. Т.е. события по входу-выходу из системы, события таймера, события на открытие контекстных меню и т.д.