![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
initialization ??? [D6]
thick © (2003-01-30 16:03:00)Есть проект (порядка 200 units)
Delphi при обращении к ф-ции юнита не проходит секцию initialization
Помогает только полный rebuild всего проекта
REA (2003-01-30 17:59:00) [1]Ксати - нет желания посмотреть на результат (правда пока бету)? Компонент печати двухуровневый - певый уровень может применяться в разных программах, а второй узкоспециальный.
Я буду стараться. Правда правда. Но как ни странно целью работы является зарабатывание денег даже в ущерб совершенству и вот это как раз и печально.
Digitman (2003-01-30 17:54:00) [2]
> REA
"специально для меня" не стОит этим заниматься - для успешной проф.деятельности на программистском поприще глубокие знания нужны тебе в 1-ю очередь, а обо мне незаботься)
если у тебя есть желание ДЕТАЛЬНО разобраться в каком-то "глюке" (а не махнуть на него рукой в очер.раз) - изволь, я с удовольствием помогу в пределах своей компетенции
но вот пока я такого желания у тебя, увы, не заметил .. а это печально(
REA (2003-01-30 17:49:00) [3]Ладно - специально для тебя завтра найду (если он сам еще не пропал). Тут проблема не в том, чтобы глюк устранить - я его и так устранил, а понять причину глюка. Иногда это бывает сложно просто потому что например с ассемблером я давно не работал, ядро windows плохо знаю ну и т.п.
Digitman (2003-01-30 17:45:00) [4]
> REA
знаешь ли, при всяких там "кстати" мериться с тобой "крутизной" я не собираюсь, но не припомню случая, когда какой-то "глюк", который таковым казался мне изначально, в конечном итоге не исчез после целевого поиска и элементарно внимательного изучения найденной док-ции по сабжу "глюка"
REA (2003-01-30 17:43:00) [5]Вывалиливался при выходе, причем лепил ошибку (Run-time), а отладчик спокойненько работал (т.е. Debug DCU не поможет), как будто ее и не было. Налицо ошибка в распределении памяти или что-то типа того, но сколько не думал - не нашел.
han_malign (2003-01-30 17:40:00) [6]> Возможно я неправ, но как найти ошибку, на которой не останавливается отладчик?
- нажимаешь F7, и в первом begin-е (в dpr), проваливаешься во все секци initialization, соответсвенно на end - finalization. Если хочешь пробежаться по VCL, то включи Project Option->Compiler->Use debug DCUs...
З.Ы. И при отладке надо отключать оптимизацию, а если ты про те ошибки которые из ядра сыпются, так нужно внимательнее за инициализацией буферов следить, и думать, думать, ду-zz-zzZ-ZZZ
REA (2003-01-30 17:37:00) [7]Глюки есть постоянный процент от работы - много работы - много глюков. У меня есть тестеры, которые их ловят. До тонкостей разбираться во всем некогда, но по возможности разбираюсь. У каждого человека свои ограниченные способности. И вообще топик не про меня. Кстати программы мои работают более чем в 300 местах круглый год в режиме RealTime без перерыва на самом разном железе - и никто не жалуется. Ну почти :)
thick (2003-01-30 17:37:00) [8]2 Игорь Шевченко
Большое пасиба. Помогло
Digitman (2003-01-30 17:31:00) [9]
> если BPL используется в программе и другой BPL, которая
> динамически грузится из программы, то Initialization вызывается
> 2 раза или 1? Наверно 1.
Разумеется - 1 !
> Вместо того, чтобы разбираться в дебрях реализации >Initialization
> потратил время на разработку
Не думаю, что это нормально в случае, когда "глюк" за "глюком".
А твой НИК, извини уж, но в последнее время у меня ассоциируется в основном с какими-то там "глюками".
Нужно сесть и выяснить, чего ты не понимаешь. До тонкостей. Иначе вся твоя "разработка" рано или поздно пойдет коту под хвост
Reindeer Moss Eater (2003-01-30 17:28:00) [10]Один раз на процесс
REA (2003-01-30 17:24:00) [11]2Digitman
>Уж больно часто у тебя "глючит" то там то сям, я заметил)
На роль человека, который не делает ошибок, не претендую (тем более, что большинство из них не мои). Вместо того, чтобы разбираться в дебрях реализации Initialization потратил время на разработку. Возможно я неправ, но как найти ошибку, на которой не останавливается отладчик?. Отрезать 99% программы и посмотреть что будет? А вот еще что - если BPL используется в программе и другой BPL, которая динамически грузится из программы, то Initialization вызывается 2 раза или 1? Наверно 1.
han_malign (2003-01-30 17:13:00) [12]Добавь модуль в uses в dpr, проблемы должны пропасть.
Вероятнее всего модуль подключается в Implementation (циркулярное подключение?), да и с проверкой версий DCU - Delphi всегда подглючивал(при изменинии настроек в Project->Options...->Compiler - сплошь и рядом надо Build делать)
Игорь Шевченко (2003-01-30 17:13:00) [13]thick (30.01.03 16:49)
> В debug-time в breakpoint попадает в GetValue раньше чем
> в секцию initialization. Соотв. GetValue возвр nil
А не может быть такого, что где-то секции initialization другого unit"а вызывается эта ф-ция GetValue ? View|Call stack обычно помогает
Reindeer Moss Eater (2003-01-30 17:12:00) [14]Оптический обман это, а не факт.
thick (2003-01-30 17:08:00) [15]Я тоже не верил, но факт есть факт
Digitman (2003-01-30 16:54:00) [16]Не верю !
The initialization sections of units used by a client are executed in the order in which the units appear in the client’s uses clause.
Эти условия ты контролируешь ?
thick (2003-01-30 16:49:00) [17]В debug-time в breakpoint попадает в GetValue раньше чем в секцию initialization. Соотв. GetValue возвр nil
Digitman (2003-01-30 16:48:00) [18]
> REA
Уж больно часто у тебя "глючит" то там то сям, я заметил)
REA (2003-01-30 16:46:00) [19]А у меня если в initialization стояло создание объекта наследника TObject и при выходе глючил. Где прикол - так и не понял. Унаследовал от TComponent и присобачил к Application - глючить перестало. Странно все это...
Reindeer Moss Eater (2003-01-30 16:36:00) [20]Я не намекаю, я лишь провел телепатический анализ текста GetValue() и решил, что автору лень было самому вызывать конструктор