Paskuda |
Отправлено: 09 Мая, 2021 - 17:07:33
|
Участник
Покинул форум
Сообщений всего: 61
Дата рег-ции: Янв. 2021
Репутация: 0
|
Добрый день, так и не удалось решить проблему с вылетом Кибора. Скрипт может проработать несколько часов, а может несколько минут, после чего вылезает всем знакомая плашка "Прекращены работа программы, искать решение в интернете..".
В чате советовали запустить с отладчиком: по коду проблем нет, все переменные в пределах, вылетает каждый раз в рандомных местах, чаще всего после sleep().
Винда 8.1 х64, 8 гб ОЗУ, загружается на 60-70%. Еще на компе установлен Visual C++ он выдает такую плашку:
[img](для просмотра ссылки Вам необходимо авторизоваться) /img]
Возможно это подскажет в чем причина |
|
|
Paskuda |
Отправлено: 09 Мая, 2021 - 17:44:37
|
Участник
Покинул форум
Сообщений всего: 61
Дата рег-ции: Янв. 2021
Репутация: 0
|
Я понимаю, я читал описание раздела, просто код на 1000+ строк, повтроюсь останавливается каждый раз в разных местах, выложу функцию на которой вылетел последний раз:
CODE:
function piece(int add)
{
x9=x7+PosX[7]+165;
if(add==0)
{y9=PosY[7]+160;}
else
{y9=add+imageheight(#Piece[0][0]);}
if(findimage(1, #Piece[0][0], 0, #PosX[9], #PosY[9], x9, y9, win.width, win.height,
20, 20, 20, 20, 20, 20, 80, 1, win)==0)
{return 0;}
enablesymbolbase(0);disablesymbolbase(1);disablesymbolbase(2);
readtext (NUM | RU, #Temp, 20, 1, 40, -1, -1, -1, -1, 0, 30,
x9+PosX[9]+imagewidth(#Piece[0][0])+25, y9+PosY[9],
x9+PosX[9]+imagewidth(#Piece[0][0])+170, y9+PosY[9]+imageheight(#Piece[0][0]), win);
mousemove(x9+PosX[9]+imagewidth(#Piece[0][0])/2,
y9+PosY[9]+imageheight(#Piece[0][0])/2, win);sleep(100);
Code();
if(formatsn(Temp)==-10011001)
{Bee();messagebox(Timer()+"Преобр Cur");goto global z;}
else
{
textout(1, 0, 45, "Cur "+Temp, tout);sleep(100);
return formatsn(Temp);
}
}
Просто я думал что
wincore.cpp
line 951
Прояснит ситуацию(Отредактировано автором: 09 Мая, 2021 - 17:46:23) |
|
|
Zireael |
Отправлено: 09 Мая, 2021 - 18:10:20
|
Эксперт
Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017
Репутация: 585
|
Цитата: if(findimage(1, #Piece[0][0], 0, #PosX[9], #PosY[9], x9, y9, win.width, win.height,
20, 20, 20, 20, 20, 20, 80, 1, win)
Нельзя давать имя переменной, которой совпадает с типом данных. |
|
|
Paskuda |
Отправлено: 09 Мая, 2021 - 18:15:48
|
Участник
Покинул форум
Сообщений всего: 61
Дата рег-ции: Янв. 2021
Репутация: 0
|
Извиняюсь, это я подправил чтоб понятнейц было , имя окна win_Cur
CODE:
function piece(int add)
{
x9=x7+PosX[7]+165;
if(add==0)
{y9=PosY[7]+160;}
else
{y9=add+imageheight(#Piece[0][0]);}
if(findimage(1, #Piece[0][0], 0, #PosX[9], #PosY[9], x9, y9, win_Cur.width, win_Cur.height,
20, 20, 20, 20, 20, 20, 80, 1, win_Cur)==0)
{return 0;}
enablesymbolbase(0);disablesymbolbase(1);disablesymbolbase(2);
readtext (NUM | RU, #Temp, 20, 1, 40, -1, -1, -1, -1, 0, 30,
x9+PosX[9]+imagewidth(#Piece[0][0])+25, y9+PosY[9],
x9+PosX[9]+imagewidth(#Piece[0][0])+170, y9+PosY[9]+imageheight(#Piece[0][0]), win_Cur);
mousemove(x9+PosX[9]+imagewidth(#Piece[0][0])/2,
y9+PosY[9]+imageheight(#Piece[0][0])/2, win_Cur);sleep(100);
Code();
if(formatsn(Temp)==-10011001)
{Bee();messagebox(Timer()+"Преобр Cur");goto global z;}
else
{
textout(1, 0, 45, "Cur "+Temp, tout);sleep(100);
return formatsn(Temp);
}
}
(Отредактировано автором: 09 Мая, 2021 - 18:18:53) |
|
|
Paskuda |
Отправлено: 08 Июня, 2021 - 08:09:24
|
Участник
Покинул форум
Сообщений всего: 61
Дата рег-ции: Янв. 2021
Репутация: 0
|
Нашел причину, точнее причину хотелось бы узнать, а вылетает из-за функции textout, разбросанной по скрипту, по типу:
CODE:
int A; //тут некая глобальная переменная
textout(0, 30, 75, "Значение: "+format(A), 1)
Как я это понял: если нажать " Завершение программы..", а следующее сообщение (см. 1 пост) просто сдвтнуть в сторону ничего не нажимая, скрипт возобновляет работу. Если в коде остается хоть один textout, то рано или поздно такая фигня вылезит.
Последний параметр менял, не заметил разницы все время мерцает.
(Добавление)
Уточнение: после завершения программы когда скрипт возобновляется текстовые метки пропадают |
|
|
|