powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Пошаговое выполнение кода в MSScript control
8 сообщений из 8, страница 1 из 1
Пошаговое выполнение кода в MSScript control
    #39167811
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно ли как-то извратится и выполнять код пошагово (как в отладчике) , чтобы после выполнения каждого оператора управление возвращалось в основную программу?
...
Рейтинг: 0 / 0
Пошаговое выполнение кода в MSScript control
    #39167912
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Eolt, первое что в голову пришло
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
Sub bb()
Dim sc As New ScriptControl
  sc.Language = "VBScript"
  sc.ExecuteStatement "i=1"
  sc.ExecuteStatement "msgbox i"
  sc.ExecuteStatement "i=i+2"
  sc.ExecuteStatement "msgbox i"
End Sub
...
Рейтинг: 0 / 0
Пошаговое выполнение кода в MSScript control
    #39167939
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Казанский,

так не работает, если попадется процедура внутри скрипта
...
Рейтинг: 0 / 0
Пошаговое выполнение кода в MSScript control
    #39167945
Eolt,

истина где-то рядом ( пример ). Но насчёт удобоваримых для VB адаптаций семейства интерфейсов работы с Active Scripts что-то есть сомнения.
...
Рейтинг: 0 / 0
Пошаговое выполнение кода в MSScript control
    #39167950
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня на компе есть примерчик отладчика скриптов на VB, к сожалению без исходников один exe, и там юзается ScriptControl.
Думаю, что отладка реализована комбинацией методов .Eval, .ExecuteStatement, .AddCode
Очень интересно, как это все работает
...
Рейтинг: 0 / 0
Пошаговое выполнение кода в MSScript control
    #39168087
hclubmk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подключаем в References: Microsoft Script Control

Модуль формы:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Public WithEvents SC As MSScriptControl.ScriptControl
Public WithEvents VC As ValueClass

Private Sub Form_Load()
Set VC = New ValueClass
Set SC = New MSScriptControl.ScriptControl
SC.Language = "VBScript"
SC.AddObject "VC", VC, True

SC.AddCode "Sub test()" & vbCrLf & _
"anyValue = 10" & vbCrLf & _
"VC.Value = anyValue" & vbCrLf & _
"anyValue = 20" & vbCrLf & _
"VC.Value = anyValue" & vbCrLf & _
"End Sub"

SC.Run "test"
End Sub

Private Sub VC_ValueEvent(ByVal v As Variant)
    Debug.Print "ScriptControl изменил переменную anyValue на " & v
End Sub



Модуль класса ValueClass:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Private cValue As Variant
Public Event ValueEvent(ByVal v)

Public Property Let Value(v As Variant)
    cValue = v
    RaiseEvent ValueEvent(cValue)
End Property

Public Property Get Value() As Variant
    Value = cValue
End Property


В Immediate наблюдаем результат отладки.
...
Рейтинг: 0 / 0
Пошаговое выполнение кода в MSScript control
    #39168880
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hclubmk,

Прикольный код!
...
Рейтинг: 0 / 0
Пошаговое выполнение кода в MSScript control
    #39168883
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати нашел исходники того отладчика на MSScript контроле: https://github.com/cambusa/rymedio
Там трешовый говнокод с итальянскими комментариями)
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Пошаговое выполнение кода в MSScript control
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]