Главная страница
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
2-1248345894
Bruth
2009-07-23 14:44
2009.09.27
Да вы сами не знаете ответа


2-1248165639
bag
2009-07-21 12:40
2009.09.27
рисовать в ondrawcell


3-1227617892
nstur
2008-11-25 15:58
2009.09.27
Объединение строк


1-1217825859
TNT
2008-08-04 08:57
2009.09.27
OleContainer и поток


4-1218200398
plotnick
2008-08-08 16:59
2009.09.27
Как проверить аккаунт пользователя?