Вверх ↑
Этот топик читают: Гость
Ответов: 1841
Рейтинг: 369
#16: 2011-11-16 22:15:00 ЛС | профиль | цитата
попытаюсь выяснить причину.
карма: 1
0
Ответов: 3889
Рейтинг: 362
#17: 2011-11-16 22:17:34 ЛС | профиль | цитата
CriDos писал(а):
на совершенно чистой win 7 sp1 x86 запустилос

У меня тоже на чистой NT6.1 x64 запустилось под 300.2, а на рабочих - отказывается. Скорее всего, различия таймингов в по-разному загруженных системах сказываются, если внимательно начать изучать схему, нетрудно заметить ничем не защищённое ветвление на потоки...
карма: 1

0
Ответов: 1841
Рейтинг: 369
#18: 2011-11-16 22:18:23 ЛС | профиль | цитата
ser_davkin писал(а):
В архиве со схемой вложен FindSha.exe

запустил - ошибка.
ищу причину дальше...
карма: 1
0
Ответов: 3889
Рейтинг: 362
#19: 2011-11-16 22:19:44 ЛС | профиль | цитата
CriDos писал(а):
ищу причину дальше...

см. выше
карма: 1

0
Ответов: 1535
Рейтинг: 176
#20: 2011-11-16 22:22:37 ЛС | профиль | цитата
1nd1g0 писал(а):
нетрудно заметить ничем не защищённое ветвление на потоки...
в схеме используются циклические алгоритмы, может в них проблема?
карма: 1
Не так страшна ошибка, как опасность её не заметить.

0
Ответов: 1841
Рейтинг: 369
#21: 2011-11-16 22:22:48 ЛС | профиль | цитата
1nd1g0 писал(а):
см. выше

сейчас поковыряю схему, посмотрю, мб. Вы правы...
карма: 1
0
Ответов: 3889
Рейтинг: 362
#22: 2011-11-16 22:28:12 ЛС | профиль | цитата
Так, нашёл место ошибки. Деструктор таймера.
------------ Дoбавленo в 22.28:
А деструктор таймера в свою очередь запускается внутри деструктора дочерней панели.
карма: 1

0
Ответов: 1841
Рейтинг: 369
#23: 2011-11-16 22:33:04 ЛС | профиль | цитата
1nd1g0 писал(а):
Так, нашёл место ошибки. Деструктор таймера.

нашёл. DriveBox
------------ Дoбавленo в 22.33:
Панель (Ядро поиска) -> элемент DriveBox.
даже если пустую схему с этим элементом запустить, будет Runtime error.
карма: 1
0
Ответов: 3889
Рейтинг: 362
#24: 2011-11-16 22:57:19 ЛС | профиль | цитата
CriDoss, забавно, но (в моём случае) адрес ошибки точно в деструкторе таймера, этот DriveBox, похоже, порождает ошибки в других, что наводит на мысли о порче стека или других атрибутов контекста потоков или процедур. Так, будучи прописанным в пустой форме, он благополучно вызывает ошибку в системной библиотеке (!), которая вообще сразу в прекомпилированном виде (dcu) идёт.
------------ Дoбавленo в 22.57:
Дебаггер при попытке это дело отладить зависает намертво, даже на пустой форме с одним DriveBox. Суровая штука
карма: 1

0
Ответов: 1841
Рейтинг: 369
#25: 2011-11-16 23:01:40 ЛС | профиль | цитата
[offtop]
1nd1g0 писал(а):
Дебаггер при попытке это дело отладить зависает намертво, даже на пустой форме с одним DriveBox. Суровая штука

ого[/offtop]
карма: 1
0
Ответов: 1535
Рейтинг: 176
#26: 2011-11-16 23:41:10 ЛС | профиль | цитата
CriDos, 1nd1g0, значит ошибка в компоненте DriveBox и мне следовало бы изменить решение о его применении?
1nd1g0 писал(а):
нетрудно заметить ничем не защищённое ветвление на потоки...
Первое, что пришло в голову компонент SafeMode. Если можно пример, защищённое ветвление и не защищённое ветвление. (лучше сто раз увидеть)
1nd1g0 писал(а):
деструктор таймера в свою очередь запускается внутри деструктора дочерней панели
если это ошибка, можно по-конкретнее. (не совсем понятно)
карма: 1
Не так страшна ошибка, как опасность её не заметить.

0
Ответов: 3889
Рейтинг: 362
#27: 2011-11-16 23:46:55 ЛС | профиль | цитата
ser_davkin, начните с замены DriveBox. Касательно потоков работа из параллельных потоков с одними и теми же данными, а также - с элементами интерфейса, крайне не рекомендуется. Небольшой пример есть в wiki по SafeMode, там же я описал, что и как работает.
карма: 1

0
Ответов: 1535
Рейтинг: 176
#28: 2011-11-17 00:45:10 ЛС | профиль | цитата
16.11.2011 - 00.00
Заменил компонент DriveBox на схемное решение из Browse и Edit. Перезалил.
карма: 1
Не так страшна ошибка, как опасность её не заметить.

0
Ответов: 1841
Рейтинг: 369
#29: 2011-11-17 13:31:28 ЛС | профиль | цитата
ser_davkin писал(а):
Если есть варианты решения данной проблемы или наводящие мысли (тем более от профессионалов), то с удовольствием выслушаю и внесу изменения.

Есть вариант.
Создать отдельную БД, в которой будет храниться к каждой схеме/wiki статье ETag, Last-Modified, wiki_last-Modified.

hiasm.com/sha/*
После запроса HEAD, ищем в заголовке ETag: "тут_много_букв_и_цифр" и сравниваем с той которую занесли в БД.

hiasm.com/xf/attach/*
После запроса HEAD, ищем в заголовке Last-Modified: и сравниваем с той которую занесли в БД.

hiasm.com/index_serv.php?q=24&p=id_статьи (для wiki)
Из содержимого ответа, извлекаем первую строку: fadd whis ihis _предположительно_к-во_изменённых_байт _день_ _месяц_ _год_ _время_ _автор_

как то так

p.s. естественно желательно потом распространять в архиве заранее созданный дамп, что-бы потом народ обновлял только изменившиеся/добавленные схемы

карма: 1
0
Ответов: 1535
Рейтинг: 176
#30: 2011-11-17 16:29:41 ЛС | профиль | цитата
CriDos, интересная мысль, в целом всё понятно, многое зависит от случая. Будет свободное время займусь, обязательно. Свободное время - только ночью, хотя стараюсь посещать форум днём (в перекурах, благо ноутбук с собой).
карма: 1
Не так страшна ошибка, как опасность её не заметить.

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)