![]() |
|
||||||||||
|
|||||
|
listener
|
А нельзя ли сделать что-нибудь наподобие динамической библиотеки различных функци vbs?
var vbCode = 'Function MyFunc(a,b,c,d,e)\r'; vbCode += 'Set objCom = GetObject(a)\r'; vbCode += 'MyFunc = objCom.mkdir(b)\r'; vbCode += 'End Function\r'; var Return = mdm.System.VBScript.execute(vbCode, "MyFunc", "script:http://mdm-zinc.narod.ru/Com/fcom.wsc", "C:\\NewFolder", "", ""); mdm.Dialogs.prompt(Return); оригинальный xml здесь http://flasher.ru/forum/newreply.php...reply&p=677298 <?xml version="1.0"?> <component> <?component error="true" debug="true"?> <registration description="fcom" progid="fcom.WSC" version="1.00" classid="{fd17cd28-824d-4ddb-9980-5825cae259be}" > </registration> <public> <method name="mkdir"> <PARAMETER name="path"/> </method> </public> <script language="VBScript"> <![CDATA[ function mkdir(path) Dim fso, f Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.CreateFolder(path) mkdir = f.path end function ]]> </script> </component> Происходит динамическая подгрузка этого компонента и вызывается его метод mkdir(path), который создает папку 'path'. Проверку на "already exists" в этом примере я не делал, поэтому имя папки (в примере - NewFolder) должно быть уникальным, иначе - ошибка. Т.е. происходит что-то наподобие вызова библиотечной функции. Еще один занятный пример. Пример 7 var vbCode = 'Function MyFunc(a,b,c,d,e)\r'; vbCode += 'Set objCom = GetObject(a)\r'; vbCode += 'MyFunc = objCom.typechar(b,CDbl(c),d)\r'; vbCode += 'End Function\r'; var Return = mdm.System.VBScript.execute(vbCode, "MyFunc", "script:http://mdm-zinc.narod.ru/Com/fcom.wsc", "Hello!~It's me.", "0,3", "winword"); mdm.Dialogs.prompt(Return); Последний раз редактировалось screamge; 30.11.2007 в 22:32. |
![]() |
Часовой пояс GMT +4, время: 07:52. |
|
|
« Предыдущая тема | Следующая тема » |
|
|