IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Программа повисает на 3 секунды в случайное время, Помогите индийскому программисту.
сообщение
Сообщение #1


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


В общем во время этих зависаний (где-то на 3300 миллисекунд) даже мышь не работает, только винамп играет. Каждый раз повисает в разном месте. Уборка рандомизатора ничего не дала. НО. Если в модуле UView3D.pas закоментировать строчки с 605 по 610ю

glBegin(GL_QUADS);
glVertex3F(X1, -Y1, 0);
glVertex3F(X2, -Y2, 0);
glVertex3F(Lines[i + 1].X2, -Lines[i + 1].Y2, 0);
glVertex3F(Lines[i + 1].X1, -Lines[i + 1].Y1, 0);
glEnd;


то зависания вдруг исчезают...
Можете сами проверить - запускаете проект TrumGame, карту gorod.tr, маршрут номер 1, ничего не делаем, смотрим. Как правило в районе первого ответвления направо повисание.
Да, попытки применить таймер другого типа (см последнюю, закоментированную строчку из TView3D.Create), приводят к тому, что при выходе из конструктора программа выдаёт ошибку.
Где тут загвоздка, не знаю. Может вы с такой ерундой сталкивались?
Да, от вирусов комп чистил вроде.
Ссылка на архив с кодом:
http://tarasber.narod.ru/Tr__--__.rar


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






К сожалению, откомпилировать и прогнать программу не могу, что-то изменилось в новых версиях Дельфи, в частности, D2009 выдает вот это (ошибка в подсвеченной строке, значение S = '', откуда и ошибка, собственно smile.gif ) :

Прикрепленное изображение

сразу после выбора gorod.tr в диалоге открытия файла (еще до показа списка маршрутов)... Подозреваю, что дело в том, что после открытия карты ты вызываешь метод AddToTable, в котором помимо всего прочего делается:


RouteTable.RowCount := RouteTable.RowCount + 1; // Вот на это обрати внимание
RouteTable.Cells[0, n] := Sym1[s1] + Sym2[s2];


Там, где я показал, при изменении RowCount, происходит событие SelectCell, а данные в СтрингГриде еще не готовы, и... Происходит то, что ты видел на моем скрине...

Запустил твой EXE-шник, он открывает gorod.tr, все в порядке, запускаю первый маршрут, сначала порядка секунды - подвисание (ни на что не реагирует, загрузка процессора = 50%, курсор мыши = "часики"), тут вероятно идет инициализация, потом пошел трамвай, больше зависаний не обнаружено... Прошел несколько поворотов, мыши слушается везде, можно двигать окошко...
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 6.05.2024 6:25
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name