Страница 18 из 26

Re: Вопросы по исходному коду

СообщениеДобавлено: 25 май 2015, 22:14
iangrozniy
zed писал(а):Что вам нужно?

или какую-то структурную схему!)

Re: Вопросы по исходному коду

СообщениеДобавлено: 25 май 2015, 22:23
zed
Всего проекта сразу? Зачем вам эта схема?

Re: Вопросы по исходному коду

СообщениеДобавлено: 25 май 2015, 22:29
iangrozniy
zed писал(а):Всего проекта сразу? Зачем вам эта схема?

Структурная схема не слишком большая, если я правильно понял, за блок схему, то здесь поделитесь отдельными модулями, пожалуйста!)
Для чего нужна, для дипломной работы, я ссылаюсь на Ваш проект в целом, хотя использую лишь некоторые модуля, если это возможно, то помогите с этим делом!)

Re: Вопросы по исходному коду

СообщениеДобавлено: 25 май 2015, 22:35
zed
Схема весьма сложная и ее как таковой нету. Когда нарисуете, покажите и нам )

Re: Вопросы по исходному коду

СообщениеДобавлено: 25 май 2015, 22:38
iangrozniy
zed писал(а):Схема весьма сложная и ее как таковой нету. Когда нарисуете, покажите и нам )


да я же даже алгоритм не знаю)
придется что-то выдумывать!)
спасибо за помощь!!!)

Re: Вопросы по исходному коду

СообщениеДобавлено: 07 июн 2015, 09:04
Alex54
Про блок-схемы алгоритмов - это конечно сильно )
А вот схема иерархии классов (интерфейсов) программы с указанием их назначения и функций бы не помешала ))

Re: Вопросы по исходному коду

СообщениеДобавлено: 15 июн 2015, 08:38
DJ VK
Alex54 писал(а):Про блок-схемы алгоритмов - это конечно сильно )

Нет ничего проще. дизасемблируем и получаем блок-схему алгоритма каждой процедуры. Самые что ни на есть настоящие.
На ассемблере конечно :lol:
Изображение
Думаю одного миллиона листов ватмана как раз хватит чтобы все их распечатать.

Re: Вопросы по исходному коду

СообщениеДобавлено: 15 июн 2015, 22:31
Parasite
DJ VK писал(а):IDA Pro

Палишься. На весь инет вообще, и Гильфанчику - в частности. :)

Re: Вопросы по исходному коду

СообщениеДобавлено: 24 июн 2015, 11:58
zed
Словил очень интересный глюк, пока тестировал sql метки. В то время, как под отладчиком работал один экземпляр программы и показывал метки (без каких-либо проблем), я для теста, решил запустить вторую копию и попробовать что-нибудь сделать с метками. Вторая копия запустилась, метки показала. Когда я попробовал поставить новую метку, оно ругнулось на транзакцию, но метку поставило. Это вобщем, не суть важно - про многопользовательскую работу я пока вообще не думал, что там будет. Интересно, что произошло с первой копией программы. Во-первых, все запросы в базу (даже на чтение) получают отлуп от SQLite с сообщением, что база заблокирована, т.е. взять оттуда ничего невозможно. НО на экране метки каким-то чудом отображаются! Не все, а какая-то область закэшировалась (целиком) и не реагирует на кнопку Вкл/Выкл меток.

Не удержался и даже записал видео: https://yadi.sk/i/RVVBfS9UhSb98

Частично работает опция Информация о метке: в базу прилетает запрос, обламывается, но окошко с информацией появляется и в сводной информации всё заполнено: площадь, количество частей и проч. Не отображается только описание метки.

После того как закрыл ту вторую копию, в менеджере меток всё заработало и в базу запросы стали проходить. Заработала и информация о метке. Но вот отображение так и продолжает тупить. Причём, в базу даже запросов не приходит про Rect, что самое странное.

У меня вопрос - где оно кэшируется и как долго тот кэш живёт? Есть подозрение, что в том кэше в итоге оказывается вся база меток, потому как я наблюдаю возрастание потребления памяти после старта программы и активной прогрузки меток. После старта с отключёнными метками - 80 Мб, после прогрузки - 450 Мб (вся база 190 Мб в sqlite).

Re: Вопросы по исходному коду

СообщениеДобавлено: 24 июн 2015, 13:00
vdemidov
zed писал(а):У меня вопрос - где оно кэшируется и как долго тот кэш живёт? Есть подозрение, что в том кэше в итоге оказывается вся база меток, потому как я наблюдаю возрастание потребления памяти после старта программы и активной прогрузки меток. После старта с отключёнными метками - 80 Мб, после прогрузки - 450 Мб (вся база 190 Мб в sqlite).

Оно не кэшируется в прямом смысле этого слова. Просто у конвейера есть несколько стадий с отдельными воркерами. Сначала есть TVectorItemSubsetChangeableForMarksLayer который хранит весь набор меток для отображения на экране и, в случае необходимости, запрашивает у базы данных его заново. У него есть отдельный поток, который в твоем случае падает. После чего набор меток который был построен последним перестает изменяться. Ну а дальнейшие этапы конвейера просто получают этот набор и не подозревают что воркер упал и метки больше не обновляются.