Привязать к уже открытой форме, созданной с помощью CreateObject

Мне было интересно, возможно ли то, что я пытаюсь сделать. Я создал библиотеку классов C#, которая вызывает форму при вызове из VBScript с помощью CreateObject.

У меня есть VBS, который передает некоторые данные в форму, и как только скрипт завершен, очевидно, все ссылки потеряны. Я хотел знать, есть ли способ для меня подключиться и использовать существующую форму при следующем вызове сценария VBS снова?

Set e = CreateObject("MyObject")
'SendEvents to Form'
'Script ends.. all references lost'

'Script is run again'
Set e = CreateObject("MyObject")
'Is it possible to send events to the existing form, instead of closing it and creating new one?'

* Редактировать: в настоящее время я использую свой класс lib для закрытия существующей формы при повторном вызове скрипта. Однако у меня есть запрос пользователя, чтобы он оставался открытым независимо от того, сколько раз вызывается скрипт. Я не уверен, как я могу использовать существующую форму при следующем вызове CreateObject. Является ли это возможным?

1 ответ

Решение

Попробуйте это так

Set e = CreateObject("MyObject")
'SendEvents to Form'
'Script ends.. all references lost'

'Script is run again'
Set e = GetObject(, "MyObject") 'no, the empty parameter is no typo

См. http://technet.microsoft.com/en-us/library/ee176980.aspx для получения дополнительной информации.

Другие вопросы по тегам