|
|
|
Как получить объект WScript???
|
|||
|---|---|---|---|
|
#18+
Есть вот такой вот код в обыкновенном текстовом файле с расширением vb: Код: plaintext 1. 2. Вопрос вот в чем, как получить объект WScript в другой программе по средствам VB, т.е. через CreateObject или GetObject??? и что это за зверь такой??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2005, 18:32 |
|
||
|
Как получить объект WScript???
|
|||
|---|---|---|---|
|
#18+
Видимо вы не внимательно прочитали мой вопрос, мне нужно получить объект WScript через функции CreateObject или GetObject, а в вашем примере он заведомо уже создан, так как же он у вас появился??? Ктому же код составленный по вашему примеру не работоспособен: Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2005, 18:53 |
|
||
|
Как получить объект WScript???
|
|||
|---|---|---|---|
|
#18+
Wscript нельзя получить с помощью CreateObject. CreateObject - это метод Wscript. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2005, 19:08 |
|
||
|
Как получить объект WScript???
|
|||
|---|---|---|---|
|
#18+
В таком случае, как можно реализовать следующий код: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. В данном случае не получается получить объект WScript, а только он обладает нужной мне процедурой... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2005, 10:23 |
|
||
|
Как получить объект WScript???
|
|||
|---|---|---|---|
|
#18+
А что надо-то? Задержку? Тогда: Private Declare Sub Sleep Lib "Kernel32" (ByVal dwMilliseconds As Long) MsgBox(Now) Sleep 3000 MsgBox(Now) А если VBScript гонять, то это Shell()... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 14:18 |
|
||
|
Как получить объект WScript???
|
|||
|---|---|---|---|
|
#18+
Надо получить доступ к объекту WScript, просто проверяется это лучше всего на паузе... Проблема в том, что Declare не прокатывает при использовании VBS - выдает ошибку, попробуйте в текстовом файле с расширением VBS задекларировать что-нибудь - скрипт будет ругаться на слово Declare А делать нужно имеено через скрипт, т.к. код скрипта будет генерироваться на лету, такое позволяет делать WSH, но при его использовании он не может получить доступ к объекту WScript, к которому можно легко обратиться с помощью все того же текстового файла - вот и стоит делема, как обойти эти присловутые ограничения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 14:24 |
|
||
|
Как получить объект WScript???
|
|||
|---|---|---|---|
|
#18+
ааа, сорри, не прочитал ваш последний пост про то что вызрв нужен именно из vbs. хотя можно же написть прогу на васике с исп scriptcontrol а ей передавать в кач-ве параметра тот скрипт, которой надо выполнить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 14:34 |
|
||
|
Как получить объект WScript???
|
|||
|---|---|---|---|
|
#18+
Программа не подойдет, т.к. ее придется тоскать за собой для ее работы, а тут нужен инифицированный подход, что если ОС держит WSH - то должно работать... dll - ки такого плана я уже писал, но тут дело идет дальше, т.к. код будет выполняться по мере необходимости для аминистративных нужд... Все это дело прикручивается к 1С - там уже реализовано формирование произволного кода и отправка его на отсылку, просто не ко всем объектам получается получить доступ - вот и приходится изобретать велосипед ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2005, 14:41 |
|
||
|
Как получить объект WScript???
|
|||
|---|---|---|---|
|
#18+
"не получается получить объект WScript, а только он обладает нужной мне процедурой" - что за процедура-то, и для какой цели? Может, другим способом решить можно? По сабжу: создайте программно текстовый файл с расширением VBS, запишите туда свою программу и программно запускайте этот файл. С объектом WScript я всегда поступаю именно так, если он мне нужен где-то НЕ в среде WSH. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2005, 11:03 |
|
||
|
Как получить объект WScript???
|
|||
|---|---|---|---|
|
#18+
Для начала бы хотелось получить вызвать паузу - для последующего развития... Текстовый файл не подходит, т.к. при его запуске он будет выполняться в своем новом процессе независимо от процесса который его запустил ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2005, 14:28 |
|
||
|
Как получить объект WScript???
|
|||
|---|---|---|---|
|
#18+
Так ЧТО всё же требуется сделать, для чего незаменим WScript? Или это страшная тайна? "Для начала бы хотелось получить вызвать паузу - для последующего развития..." - получить паузу тем способом, который я предложил - запросто. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2005, 17:00 |
|
||
|
Как получить объект WScript???
|
|||
|---|---|---|---|
|
#18+
Нет не тайна... Просто я не думаю что WScript умеет делать только паузу, полюбому есть еще какие - нибудь процедуры, которыми обладает только он... В данном случае мне нужна только ПАУЗА, какой смысл пробовать что-то еще, если самое прмитивное не работает... Текстовый файл не подходит, т.к. 1С не проверяет выполнение кода запущенного ей приложения, она просто его запускает отдельным процессом, а что он делает и что с ним будет ей всеравно Нужно именно передать управление другому коду (VB\Java) в контексте 1С на исполнение, а нужно это затем, что встроенный язык 1С как всем известно хромает, и в нем нет такой важной вещи, как GetObject() тот же самый Вот и извращаюсь, начальство то требует ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2005, 18:39 |
|
||
|
Как получить объект WScript???
|
|||
|---|---|---|---|
|
#18+
Пауза в 1С средствами WScript: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Заходите на форум http://www.forum.script-coding.info/ и задавайте там вопросы по скриптам, 1С, и подобному. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2005, 19:03 |
|
||
|
Как получить объект WScript???
|
|||
|---|---|---|---|
|
#18+
Хотелось бы узнать все же ответ на поставленный в ПЕРВОМ ПОСТЕ Вопрос. Тут было много вопросов - для чего ? Вообще говоря, это ведь не важно, но отвечу - хочется использовать код И в VB библиотеке И автономно, следовательно было бы очень удобно вначале кода программы написать что-то вроде : Set WScript=GetObject("WScript") ' - что как известно не работает Потом уже юзать это в программе, например : Set WshShell = WScript.CreateObject("WScript.Shell") ............... И этот кусок уже можно вырезая использовать в vbs файле, а отлажен он может быть в VB. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2008, 22:47 |
|
||
|
Как получить объект WScript???
|
|||
|---|---|---|---|
|
#18+
kefiХотелось бы узнать все же ответ на поставленный в ПЕРВОМ ПОСТЕ Вопрос. Ты ТОЧНО этого хочешь? Ну на, сам просил: http://www.computerra.ru/softerra/technologizm/6210/index.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2008, 23:04 |
|
||
|
Как получить объект WScript???
|
|||
|---|---|---|---|
|
#18+
2 Белому Сове> Ты ТОЧНО этого хочешь? Я это хочу неточно. Я хочу уже готовый объект. Вообще цель-то - отлаживать код в VB , а использовать его с минимальной переделкой или вообще без нее в VBS файлах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2008, 23:34 |
|
||
|
Как получить объект WScript???
|
|||
|---|---|---|---|
|
#18+
Дык создай собственный класс аналогичный WShell. Dim WShell as MyShell. Скрипту наплевать, оригинальный он или нет. Добавь в референсах файл wscript.exe и посмотри, какие свойства и методы содержит IHost_Class, реализовать можно только нужные тебе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2008, 00:39 |
|
||
|
Как получить объект WScript???
|
|||
|---|---|---|---|
|
#18+
kefiВообще цель-то - отлаживать код в VB , а использовать его с минимальной переделкой или вообще без нее в VBS файлах.Для отладки достаточно кода типа такого: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2008, 17:40 |
|
||
|
Как получить объект WScript???
|
|||
|---|---|---|---|
|
#18+
White OwlkefiВообще цель-то - отлаживать код в VB , а использовать его с минимальной переделкой или вообще без нее в VBS файлах.Для отладки достаточно кода типа такого: Код: plaintext Ну и будет ВЕСЬ код везде, где используется в скрипте объект WScript, усыпан такими "if bDebug=1 then ..." - это вот извращение. Задача же , чтобы Код не меняясь вообще или буквально в паре строк меняясь из VB кода превратиться в VBS код. Действительно , надо будет заняться тем, что Antonariy предложил, т.е. сделать просто fake объекта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2008, 13:59 |
|
||
|
Как получить объект WScript???
|
|||
|---|---|---|---|
|
#18+
VBS: Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2008, 17:38 |
|
||
|
Как получить объект WScript???
|
|||
|---|---|---|---|
|
#18+
Сергей84, На http://groups.google.com/group/microsoft.public.scripting.wsh/browse_thread/thread/e194834f273df21d/4b24b6d41f6c5b96?lnk=raot нашёл... Осталось отладить и научиться (и научить) этим пользоваться... И меня... --- <wscript class code> --- ' WScript Class, an attempt to provide WScript Functionality ' to scripts running in the ms ScriptConstrol, jw 09Jun01 Option Explicit ' --- Declarations and Constants ----------------- Private Declare Sub apiSleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Long) ' Private Declare Function SetCurrentDirectory Lib "kernel32" _ Alias "SetCurrentDirectoryA" (ByVal lpPathName As String) As Long Private Declare Function GetCurrentDirectory Lib "kernel32" _ Alias "GetCurrentDirectoryA" (ByVal nBufferLength As Long, ByVal lpBuffer As String) As Long ' Private Const MAX_PATH = 260 ' Private m_myParent As frmMain ' parent of this class as form object ' Private nRtn As Long ' used to hold api return values... ' --- end of decalarations and constants --------- ' ' ------------------------------------------------- ' the following two routines are part of the "callback" process, ' whereby the parent (control) and the child (this class) ' exchange calling cards. The "callback" is used as a ' way to access code and objects in the parent form. ' For more info on this, get yourself a copy of ' Dan Appleman's book, entitled: ' "Developing ActiveX Components w/vb 5", pg 243. ' ------------------------------------------------- Public Property Let Parent(pSource As frmMain) Debug.Print "[myForm] .. frmSetParent called" ' debugging stuff (bugassert expects TRUE)... ArgAssert Not (pSource Is Nothing), "[LetParent], pSource is nothing!!!" Set m_myParent = pSource End Property Public Property Get Parent() As frmMain Debug.Print "[myForm] .. frmGetParent called" ' debugging stuff (bugassert expects TRUE)... ArgAssert Not (m_myParent Is Nothing), "[GetParent], m_myParent is nothing!!!" Set Parent = m_myParent End Property ' --- end of callback stuff ----------------------------- Public Property Get CreateObject(vProgID As Variant, Optional vPrefix As Variant = "") As Object Set CreateObject = vbCreateObject(CStr(vProgID)) ' if there is a second argument provided, then connect it... ' If IsMissing(vPrefix) Then Exit Property ' Parent.wsConnect CStr(vPrefix), CreateObject End Property ' --- Get / Set Current Working Directory ---------- Public Property Let CurrentDirectory(vRHS As Variant) nRtn = SetCurrentDirectory(CStr(vRHS)) End Property Public Property Get CurrentDirectory() As Variant Dim sBuf As String Dim iNull As Integer sBuf = String(MAX_PATH, Chr(0)) ' allocate string buffer nRtn = GetCurrentDirectory(MAX_PATH, sBuf) iNull = InStr(sBuf, Chr(0)) ' trim the returned string... If iNull > 0 Then sBuf = Left(sBuf, iNull) CurrentDirectory = sBuf End Property ' --- "Easy" WScript Methods (Echo, Sleep, Quit) --- Public Sub Echo(sMsg As Variant) ' ignore any multiple-string-parameters, for now... MsgBox CStr(sMsg) End Sub Public Sub Sleep(tSnooze As Variant) apiSleep CLng(tSnooze) End Sub Public Sub Quit() Parent.QuitScript End Sub --- </wscript class code> --- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2009, 13:55 |
|
||
|
Как получить объект WScript???
|
|||
|---|---|---|---|
|
#18+
kefiТут было много вопросов - для чего ? Вообще говоря, это ведь не важно, но отвечу - хочется использовать код И в VB библиотеке ScriptControl позволяет исполнять VBS код - хоть целыми модулями туда загружай и исполняй из приложения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2009, 15:14 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=33068089&tid=2161047]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
42ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
72ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 388ms |

| 0 / 0 |
