Главная страница
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
15-1248898607
LDV
2009-07-30 00:16
2009.09.27
Должность "инженер-программист" - это Software Engineer?


2-1248173443
Pavel
2009-07-21 14:50
2009.09.27
Перемещение Image в ScrollBox


2-1248247703
Verden
2009-07-22 11:28
2009.09.27
Эмулируем нажатие клавиши


2-1248175930
EH
2009-07-21 15:32
2009.09.27
Компонент в виде object inspector


2-1248330602
JohnKorsh
2009-07-23 10:30
2009.09.27
Как средствами Dilphi создать точку восстановления?