tag:blogger.com,1999:blog-1702873441071265539.post1521079566828127932..comments2023-05-29T19:02:20.570+03:00Comments on Блог GunSmoker-а: Дело о зависании Delphi 7GunSmokerhttp://www.blogger.com/profile/15611696588191431330noreply@blogger.comBlogger10125tag:blogger.com,1999:blog-1702873441071265539.post-14339943029959400852017-09-20T08:32:02.314+03:002017-09-20T08:32:02.314+03:00Симптомы похожи. При запуске проекта Delphi бескон...Симптомы похожи. При запуске проекта Delphi бесконечно перебирает окна проекта.Bufferhttps://www.blogger.com/profile/14930820307891011895noreply@blogger.comtag:blogger.com,1999:blog-1702873441071265539.post-44966212041543414812017-09-19T21:17:35.961+03:002017-09-19T21:17:35.961+03:00А с чего вы взяли, что ваше зависание вызвано в то...А с чего вы взяли, что ваше зависание вызвано в точности тем же кодом, что в моём случае? GunSmokerhttps://www.blogger.com/profile/15611696588191431330noreply@blogger.comtag:blogger.com,1999:blog-1702873441071265539.post-53049524319401473632017-09-19T08:51:05.611+03:002017-09-19T08:51:05.611+03:00Спасибо. Подскажите тогда, как пересобрать RTL? Ве...Спасибо. Подскажите тогда, как пересобрать RTL? Ведь он собирается во время установки Delphi? Чтобы собрать принудительно, видимо, есть какой-то механизм? К сожалению не знаком с этими внутренностями. А эти зависы уже достали. Проект открывается через раз. Или есть какой-то рецепт как найти этот пресловутый "плохой" файл проекта?Bufferhttps://www.blogger.com/profile/14930820307891011895noreply@blogger.comtag:blogger.com,1999:blog-1702873441071265539.post-56055722859434075332017-09-19T03:26:58.660+03:002017-09-19T03:26:58.660+03:00Как обычно исправляют баг в программе? Правят исхо...Как обычно исправляют баг в программе? Правят исходный код программы и перекомпилируют исправленную версию. Исходного кода IDE Delphi 7 у нас нет. Следовательно, исправить этот баг мы не можем. Мы можем только его обойти (удалив "плохой" файл проекта).<br /><br />P.S. На самом деле, IDE использует код из run-time пакета RTL, поэтому можно пересобрать стандартный пакет RTL. Ну и, конечно же, всегда можно сделать прямую правку машинного кода в .exe/.dll/.bpl.GunSmokerhttps://www.blogger.com/profile/15611696588191431330noreply@blogger.comtag:blogger.com,1999:blog-1702873441071265539.post-222179180654785722017-09-14T10:36:01.891+03:002017-09-14T10:36:01.891+03:00Извините. Не понял, что надо сделать-то, что бы по...Извините. Не понял, что надо сделать-то, что бы пофиксить это зависание? В TDockTree.LoadFromStream поменять Read на ReadBuffer? А дальше что? Что-то перекомпилировать?Bufferhttps://www.blogger.com/profile/14930820307891011895noreply@blogger.comtag:blogger.com,1999:blog-1702873441071265539.post-76801780815769629102017-08-22T13:12:10.791+03:002017-08-22T13:12:10.791+03:00ReadBuffer поднимет исключение. Собственно он и де...ReadBuffer поднимет исключение. Собственно он и делает то, что требуется - анализирует значение, возвращенное методом Read )nnvhttps://www.blogger.com/profile/09161473187664371470noreply@blogger.comtag:blogger.com,1999:blog-1702873441071265539.post-35968162315120105692017-08-17T13:41:06.174+03:002017-08-17T13:41:06.174+03:00Подсказка: чем .Read отличается от .ReadBuffer?Подсказка: чем .Read отличается от .ReadBuffer?GunSmokerhttps://www.blogger.com/profile/15611696588191431330noreply@blogger.comtag:blogger.com,1999:blog-1702873441071265539.post-69208237595872174192017-08-17T12:20:09.006+03:002017-08-17T12:20:09.006+03:00Необходимо анализировать значение, возвращаемое ме...Необходимо анализировать значение, возвращаемое методом Read потока и прерываться по достижению его конца. Ну или, как вариант, инициализировать переменную Level перед ее чтением значением TreeStreamEndFlag.<br />А вообще, на мой взгляд, есть некоторая небрежность при анализе прочитанного значения переменной Level. Видимо, в нее был прочитан мусор из битого dfm-ника, а приведенный код этого вовремя не увидел и не поднял исключение. nnvhttps://www.blogger.com/profile/09161473187664371470noreply@blogger.comtag:blogger.com,1999:blog-1702873441071265539.post-50895620091841701932017-05-26T16:48:52.816+03:002017-05-26T16:48:52.816+03:00Вариант вполне возможный, да. Если есть конкретное...Вариант вполне возможный, да. Если есть конкретное подозрение.GunSmokerhttps://www.blogger.com/profile/15611696588191431330noreply@blogger.comtag:blogger.com,1999:blog-1702873441071265539.post-8049013580455719952017-05-25T21:04:08.563+03:002017-05-25T21:04:08.563+03:00А не проще было б монитором посмотреть что дёргает...А не проще было б монитором посмотреть что дёргается при старте?Anonymousnoreply@blogger.com