Кто-нибудь знает реальную цель использования префикса при использовании WScript.CreateObject
?
У меня есть пример проекта C ++ COM, и у него есть файл VB Script, который вызывает метод COM-объекта, который находится в проекте C ++ dll.
Function Testing_Event(Text)
WScript.Echo CStr(Text)
End Function
Dim Test
Set Test = WScript.CreateObject("Hello.World", "Testing_")
Test.Method("Hello World!")
Я также нашел другой ответ которые имеют одинаковое поведение вызова с префиксом.
Выше работает отлично с VB Script, но если я уберу префикс, wscript запускается, но ничего не выводит, как раньше.
Пожалуйста, кто-нибудь может объяснить мне, что такое использование Testing_
префикс здесь? Можно ли прекратить использовать этот префикс и вызвать этот метод, как обычно, Hello.World
? Нужно ли вносить какие-либо изменения в исходные файлы примера, чтобы вызвать этот метод без этого префикса?
Testing_
это префикс события, поэтому в вашем примере, когда Test
поднимает событие под названием Event
затем Приставка + event_name карты для Testing_Event
и эта локальная процедура называется.
Если вы пропустите префикс, то никакие события не будут потоплены, поэтому, если вам нужны события, вам нужен префикс.
Основанием для этого является то, что он позволяет нескольким экземплярам одного и того же класса вызывать свои собственные независимые события, указывая разные префиксы.
Других решений пока нет …