• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

Запуск Ui агента из скрипта...

  • Автор темы Автор темы fedotxxl
  • Дата начала Дата начала
Еще добавлю, если кто не в курсе, что Execute, т.к. он исполняется в области видимости модуля, а не вызывающей процедуры, имеет доступ к переменным и функциям модуля, но не имеет доступа к локальным для вызывающей функции переменным!
Т.е. если вы хотите, чтобы Execute вернул какой-то результат, необходимо на уровне модуля (в "(Declarations)") объявить переменную, и в тексте Execute записать в нее результат, а потом прочитать ее значение из вызывающей Execute функции.

т.е.

Код:
(Declarations)
private someText as string

Sub Initialize
On Error Goto errh

Dim execStr As String

execStr = |
sub TestSub()
on error goto errh
dim i as Integer
dim r as Double

'!!!!!!!!!!! вот тут мы глобальной переменной задали значение, которое вернула функция из нашего модуля !!!!!!!!!!

someText = SomeFunc()

'!!!!!!!!!!!!

i = i + 5
r = i/0
eos:
Exit Sub
errh:
Messagebox Error & " (" & Cstr(Erl) & ")"
Resume eos
end sub

call TestSub()
|

Execute(execStr)

eos:
Exit Sub

errh:
Messagebox Error & " (" & Cstr(Erl) & ")"
Resume eos
End Sub


function SomeFunc() as string
SomeFunc = "This is SomeFunc!"
end function

еще замечу, что под модулем подразумевается любой объект, который имеет свою область объявлений ("(Declarations)"), т.е. это библиотеки, агенты, формы и т.п.
 
Т.е. если вы хотите, чтобы Execute вернул какой-то результат, необходимо на уровне модуля (в "(Declarations)") объявить переменную, и в тексте Execute записать в нее результат, а потом прочитать ее значение из вызывающей Execute функции.
не только, есть вариант с End XXX
где XXX возвращаеммый Execute результат

https://codeby.net/threads/16719.html
 
как вариант, но, к сожалению, он подходит только для простого случая (код результата) и только integer...
если что-то сложнее или иного типа, придется раскошелиться на глобальную переменную...
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab