Не могу понять... Что не так в скрипте???
Вот скрипт, который, вроде бы, должен выводить сообщение с данными об окне Блокнота:
код (Отобразить)CODE:// Для отладки
char CR=formatic(13);
char LF=formatic(10);
string CRLF=CR+LF;
string str[11];
win w;
// Начало работы
string path="C:\Windows\System32\Notepad.exe";
win wnd;
int flag=run(path);
if (flag==1)
{
wnd=window(-1, "Notepad", -1);
activate(wnd);
msg_debug();
}
else
{
messagebox("Не удалось запустить программу!");
goto exit;
}
function run(string prog)
{
wnd=window(-1, "Notepad", -1);
if (wnd==0){return start(prog);}
else{messagebox("Программа уже запущена.");}
return 1;
}
// Отладка
function msg_debug()
{
w=window(-1, "Notepad", -1);
string str_result="Отладка"+CRLF;
str[0]="---------";
str[1]="Название: "+w.name;
str[2]="Класс: "+w.class+CRLF;
str[3]="X окна: "+format(w.left);
str[4]="Y окна: "+format(w.top);
str[5]="Ширина окна: "+format(w.width);
str[6]="Высота окна: "+format(w.height)+CRLF;
str[7]="X клиент.области: "+format(w.leftclient);
str[8]="Y клиент.области: "+format(w.topclient);
str[9]="Ширина клиент.области: "+format(w.widthclient);
str[10]="Высота клиент.области: "+format(w.heightclient);
for (int n=0; n<11; n++){str_result=str_result+str[n]+CRLF;}
messagebox(str_result);
}
// Завершение работы
exit:;
При выполнении скрипта в первый раз (когда Блокнот ещё не запущен), кнопкой "Создать и запустить промежуточный код", выводится сообщение с текстом, где все данные содержат число -842150451.
Если скрипт выполнить повторно, кнопкой "Создать и запустить промежуточный код" не закрывая Блокнот, то появится сообщение с правильными данными об окне. Можно закрыть Блокнот и выполнить скрипт кнопкой "Запустить ранее обработанный скрипт", тогда тоже появится сообщение с правильными данными.
Где ошибка закралась?