Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.09.27;
Скачать: CL | DM;

Вниз

VBScript, куда делся класс?   Найти похожие ветки 

 
Skyle ©   (2009-07-30 06:20) [0]

Весь день вчера ковырял гугль и MSDN, к сожалению безуспешно. Поэтому спрошу здесь, вдруг подскажет кто.

Итак, ситуация. Есть файл, в нём код на VBScript. Один класс и несколько функций. Есть некий скриптхост, в котором есть некие расширения, в частности метод LoadModule. Его суть - берётся весь текст из указанного файла и вызывается IActiveScriptParse.ParseScriptText.

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

А где класс? Класс почему-то не виден.

То есть такой код работает

LoadModule "MyModule.vbs"

MsgBox SomeModuleFunc(1, 2, 3)


а вот такой нет

LoadModule "MyModule.vbs"

SET Obj = new SomeModuleClass


с ошибкой "Класс не определен: SomeModuleClass"

Так куда же делся класс?


 
palva ©   (2009-07-30 09:07) [1]


> Так куда же делся класс?

А он был? Он что, был определен в MyModule.vbs ? А глобальные переменные из MyModule появляются?

В любом случае нужно читать руководство к некоему скриптхосту и LoadModule.


 
Skyle ©   (2009-07-30 09:31) [2]

Глобальные переменные появляются, процедуры и функции тоже.

Не видно только классов. Ладно, видимо надо будет скрипт-хосту поддержку классов сделать, только пока что совершенно неясно куда рыть.

Проблема в том, что LoadModule делает некий "модуль", который добавляется глобально через AddObject в хост. И поэтому процедуры и переменные резолвятся как [MyModule.]MyGlobalVar или [MyModule.]SomeProc.

А вот с классами так не получается. И пока мне не ясно, как отдавать классы.

Пошёл искать мануал по ху из классы в vbscript.


 
palva ©   (2009-07-30 09:34) [3]

Может быть VBScript не допускает вложенных классов? А ведь именно это от него требуется.


 
Skyle ©   (2009-07-30 09:36) [4]


> palva ©   (30.07.09 09:34) [3]

Навряд ли. Классовые поля и свойства в VBScript допустимы (property Set).



Страницы: 1 вся ветка

Текущий архив: 2009.09.27;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.011 c
1-1216348789
dreamse
2008-07-18 06:39
2009.09.27
Вопрос по ExcelXP


2-1248340805
belmol
2009-07-23 13:20
2009.09.27
считать все значения edit с формы


15-1248854405
Vudu
2009-07-29 12:00
2009.09.27
Сколько энергии поедает баммпер автомобиля с номером, на 100км ч


2-1248463331
Kiminchua
2009-07-24 23:22
2009.09.27
Ошибка при открытии Excel шаблона из под Delphi


4-1199933532
KiberKot
2008-01-10 05:52
2009.09.27
эмуляция нажатия клавиш в неактивном окне