Оператор On Error Resume Next, конечно используется, но зависание происходит или в ядре WMI или в WSH, и управление в скрипт не возвращается. По крайней мере так оно выглядит из HiAsm'a :? Буду ещё пробовать варианты полусинхронных и асинхронных WQL-запросов или выполнять скрипт внешним запуском без ожидания завершения, но это решение не очень "красивое" - смахивает на работу из командной строки
Этот топик читают: Гость
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
карма: 6 |
|
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
tsdima, Вы, как соавтор компонента VBJScript, можете объяснить поведение компонента с другим важным компонентом HiAsm?
code_535 |
|||
карма: 6 |
| ||
файлы: 1 | code_535.txt [969B] [478] |
Ответов: 2125
Рейтинг: 159
|
|||
Первая и третья кнопка запускают скрипт в том же Thread, что и само приложение, а вот вторая - непосредственно в новом Thread-е и вот тут чего-то нехватает. Сама по себе Script Engine может работать в нескольких Thread-ах, тут надо глубже копаться.
З.Ы. IActiveScript::GetScriptDispatch почему-то возвращает nil. Возможно потому, что скрипт создаётся в одном Thread-е, а используется в другом. Если добавить анализ возвращаемого значения - ошибка не возникает, но и скрипт, естесственно, не вызывается
|
|||
карма: 1 |
|
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
Чем могу помочь в раскопках сих?:? В пределах, конечно, своей компитенции
Вопрос этот для меня стал важным уже давно и с Dilma мы его уже перетерали (впрочем безрезультатно, насколько мне не изменяет память). Даже Галков моей беде посочувствовал и предложил третий вариант для использования. Можно, конечно и так жить, но ведь нет пределала совершенствованию, а значит можно что-нибудь придумать... :? |
|||
карма: 6 |
|
Ответов: 9906
Рейтинг: 351
|
|||
не помню...
|
|||
карма: 9 |
|
Ответов: 2125
Рейтинг: 159
|
|||
Кроме того, для нового Thread никто не вызывает CoInitialize, соответственно СОМ объекты нельзя создавать. Проблему можно решить так:
|
|||
карма: 1 |
|
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
Интересное решение - надо попробовать на реальном чём-нибудь
[size=-2]------ Добавлено в 00:20 При закрытии формы - Runtime Error! |
|||
карма: 6 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
При закрытии формы - Runtime Error! с Delphi все OK
c FPC Compiling ActiveKOL.pas
ActiveKOL.pas(8,2) Fatal: Can't open include file "KOLDEF.INC" Error: H:\HiAsm362b160\compiler\fpc\ppc386.exe returned an error exitcode (normal if you did not specifiy a source file to be compiled) [size=-2]------ Добавлено в 00:35 Извиняюсь. Забыл про VBJ+FPC=Error |
|||
карма: 25 |
|
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
Tad писал(а): Извиняюсь. Забыл про VBJ+FPC=ErrorУже не должно быть такого равенства, стараниями tsdima [size=-2]------ Добавлено в 00:55 Ищё вопрос: code_536 [size=-2]------ Добавлено в 01:13 Точнее вот так работает, но опять ошибка при закрытии формы: code_537 [size=-2]------ Добавлено в 01:36 Всё это хорошо, НО... если предполагается продолжительная работа схемы, то где напастись ресурсов для неё? Ежесекундный ##add VBJScript'a не живет и пары минут |
|||
карма: 6 |
| ||
файлы: 2 | code_536.txt [856B] [473], code_537.txt [867B] [463] |
Ответов: 2125
Рейтинг: 159
|
|||
Tad писал(а): Can't open include file "KOLDEF.INC"Nic писал(а): Ежесекундный ##add VBJScript'a не живет и пары минутИщё вопрос: Если вопрос: "почему не работает?", то потому-что Mode=Dynamic, а вы #add не сделали.
ошибка при закрытии формы Те же яйца только сбоку: удалять надо тоже в новом Thread-e.
|
|||
карма: 1 |
|
Ответов: 9906
Рейтинг: 351
|
|||
tsdima, чего ты так не любишь OnlyOnce
|
|||
карма: 9 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Dilma сказал, что обновил инсталлятор FPC. и где он лежит обновленный ? |
|||
карма: 25 |
|
Ответов: 2125
Рейтинг: 159
|
|||
Galkov, в примере был Dynamic, я не стал менять. С OnlyOnce, конечно, тоже работает.
Tad, не знаю, видимо на том же месте, где раньше старый лежал. |
|||
карма: 1 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Старый был прицеплен к 157-й. Можно было бы прицепить или NEW или дату, а так кто знает там новый или старый
|
|||
карма: 25 |
|
Ответов: 9906
Рейтинг: 351
|
|||
tsdima, вот тут:
http://hiasm.googlecode.com/svn/elements/delphi/task.txt - коллега Nic выступает за твои модификации в Thread Но ведь криво это как-то: какой-то ActiveX... с какой-то радости... а почему только он... Это что, не решаемо в VBJScript Чувствую тут неправду, а знаний не хватает Выскажись, пожалуйста... |
|||
карма: 9 |
|