Привязать к уже открытой форме, созданной с помощью 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 для получения дополнительной информации.