Microsoft Script Control
-
- Уже с Приветом
- Posts: 177
- Joined: 10 Apr 2003 01:15
Microsoft Script Control
Где можно почитать подробно по компонент? Описание всех интерфейсов классов.
-
- Уже с Приветом
- Posts: 2264
- Joined: 17 Jun 2003 04:41
- Location: Just like US
Maybe here? http://msdn.microsoft.com/library/default.asp?url=/nhp/default.asp?contentid=28001169 Вас его хостинг интересует?
...а мы такой компанией, возьмем, да и припремся к Элис!
-
- Уже с Приветом
- Posts: 177
- Joined: 10 Apr 2003 01:15
Мне нужно было описание MSScriptControl.
Нечто похожее было найдено здесь:
http://www.microsoft.com/mind/0799/script/script.asp
Нечто похожее было найдено здесь:
http://www.microsoft.com/mind/0799/script/script.asp
-
- Уже с Приветом
- Posts: 177
- Joined: 10 Apr 2003 01:15
У меня новый вопрос: как можно обработать (читай выполнить) скрипт описанный в .wsf файле где-нибудь скажем в C#?
Сегодня весь день рыскаю в поисках ответа - ни одной зацепки.
Нашел только IWshRuntimeLibrary, но ничего полезного там не заметил.
Для VBScript и JScript есть MSScriptControl.ScriptControl, а для этого зверя?
Сегодня весь день рыскаю в поисках ответа - ни одной зацепки.
![HBZ :pain1:](./images/smilies/pain25.gif)
Нашел только IWshRuntimeLibrary, но ничего полезного там не заметил.
Для VBScript и JScript есть MSScriptControl.ScriptControl, а для этого зверя?
-
- Уже с Приветом
- Posts: 991
- Joined: 09 Sep 2001 09:01
- Location: The Earth
-
- Уже с Приветом
- Posts: 5406
- Joined: 16 Apr 1999 09:01
- Location: MA
Mike Korablin wrote:У меня новый вопрос: как можно обработать (читай выполнить) скрипт описанный в .wsf файле где-нибудь скажем в C#?
Сегодня весь день рыскаю в поисках ответа - ни одной зацепки.![]()
Нашел только IWshRuntimeLibrary, но ничего полезного там не заметил.
Для VBScript и JScript есть MSScriptControl.ScriptControl, а для этого зверя?
Так содать энтот скрипт контрол из шарпа, считать в него скрипт из файла, да и выполнить...
-
- Уже с Приветом
- Posts: 5406
- Joined: 16 Apr 1999 09:01
- Location: MA
-
- Уже с Приветом
- Posts: 177
- Joined: 10 Apr 2003 01:15
-
- Уже с Приветом
- Posts: 177
- Joined: 10 Apr 2003 01:15
Oleg_B wrote:...надо бы из шарпа создать компилятор скрипта, им файл откомпилировать во временную ассембли, да её-то и запустить.
А как создать этот компилятор?
Понятно, что чистый скрипт ещё извлечь из файла надо сначала, убрав разметку всякую.
А нужно ли будет убирать разметку? CScript ее воспринимает. Тем более, что разметка-то как раз и важна. Там можно, например, включать внешние фаилы с дополнительным кодом. ScriptControl из MSScriptControl позволяет хранить модули, но не дает возможности перекрестного доступа к методам внутри.
Пока решение - это делать deserialization .wsf фаила и объединять все скрипты в один, который выполнять, отслеживая при ошибках относительные номера строк в каждом фаиле.
Есть какие-нибудь еще предложения?
-
- Уже с Приветом
- Posts: 991
- Joined: 09 Sep 2001 09:01
- Location: The Earth
Mike Korablin wrote:Michael Popov wrote:Никак. C# вначале надо откомпилировать, а потом выполнять. C# не скриптовый язык.
Есть специальный COM control для того, чтобы выполнять скрипты в C#, C++, VB - где угодно.
Ссылкой не поделитесь ? Особенно на "COM control, чтобы выполнять скрипты в C++".
Best regards,
Michael Popov
Michael Popov
-
- Уже с Приветом
- Posts: 177
- Joined: 10 Apr 2003 01:15
Вот ссылка на msdn: http://msdn.microsoft.com/library/default.asp?url=/nhp/default.asp?contentid=28001169
Думаю там все можно найти.
А так посмотрите MSScriptControl в google. То, что вам нужно это ScriptControlClass от туда. В онлайне много на эту тему всего. Если будут вопросы обращайтесь.
Думаю там все можно найти.
А так посмотрите MSScriptControl в google. То, что вам нужно это ScriptControlClass от туда. В онлайне много на эту тему всего. Если будут вопросы обращайтесь.
-
- Уже с Приветом
- Posts: 11332
- Joined: 30 Mar 2000 10:01
- Location: Ice Storm Town
Mike Korablin wrote:Есть специальный COM control для того, чтобы выполнять скрипты в C#, C++, VB - где угодно.
А зачем нужен специальный контрол если это всего пяток строчек на C#.
Microsof.CSharp спасет отца русской демократии. Скрипт загружается, компилируется в память и затем выполняется.
Code: Select all
CSharpCodeProvider cp = new CSharpCodeProvider();
ICodeCompiler comp = cp.CreateCompiler();
CompilerParameters param = new CompilerParameters();
param.GenerateInMemory = true;
param.GenerateExecutable = true;
CompilerResults result = comp.CompileAssemblyFromFile(param, "Script.cs");
if(result.Errors.Count == 0)
{
Assembly asm = result.CompiledAssembly;
MethodInfo mi = asm.EntryPoint;
mi.Invoke(null, new object[]{new string[]{}});
}
else
{
// Error handling
}
-
- Уже с Приветом
- Posts: 2264
- Joined: 17 Jun 2003 04:41
- Location: Just like US
-
- Уже с Приветом
- Posts: 991
- Joined: 09 Sep 2001 09:01
- Location: The Earth
Mike Korablin wrote:Вот ссылка на msdn: http://msdn.microsoft.com/library/default.asp?url=/nhp/default.asp?contentid=28001169
Думаю там все можно найти.
А так посмотрите MSScriptControl в google. То, что вам нужно это ScriptControlClass от туда. В онлайне много на эту тему всего. Если будут вопросы обращайтесь.
Mike, Ваша ссылка указывает на sript control, который позволяет выполнять скрипты на JScript & VBScript. Есть еще engines, которые выполняют JavaScript, Python, Perl, TCL. Это все скриптовые языки.
C# and VB, и тем более C++ скриптовыми языками не являются (хотя где-то видел ссылки на попытки написать интерпретатор C++).
Best regards,
Michael Popov
Michael Popov
-
- Уже с Приветом
- Posts: 569
- Joined: 14 Dec 2003 04:06
- Location: Львов->Киев->Торонто
Просто тут все запутались в термине что такое выполнить в с++: хостить в с++ или выполнить исходный код в с++.
MS ScriptControl умеет выполнять только JScript & VBScript. Хостится он в любой среде включая с# как обычный COM объект, никаких особенностей нет.
MS ScriptControl умеет выполнять только JScript & VBScript. Хостится он в любой среде включая с# как обычный COM объект, никаких особенностей нет.
Никакой разрухи нет. (с) Проф. Преображенский.