Главная страница
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.013 c
15-1248773497
Someone
2009-07-28 13:31
2009.09.27
Как записать комманду в реестре, для передачи имени проге


6-1207303910
Trible
2008-04-04 14:11
2009.09.27
Заморозка формы и TIdFTP


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


15-1248515578
Palladin
2009-07-25 13:52
2009.09.27
Права группы на директорию, FreeBSD 7


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