Здравствуйте, ArtDenis, Вы писали:
AD>Кто-нибудь использовал сабж? Как эти среды разработки по глючности во AD>время работы и глючности скомпилированного кода?
Про Delphi ничего не скажу, но Turbo C++ традиционно глючит, хотя и меньше чем 6-ой билдер. Глюков в скомпилированном коде не замечал.
Здравствуйте, ArtDenis, Вы писали:
AD>Кто-нибудь использовал сабж? Как эти среды разработки по глючности во AD>время работы и глючности скомпилированного кода?
Здравствуйте, ArtDenis, Вы писали: AD>Кто-нибудь использовал сабж? Как эти среды разработки по глючности во AD>время работы и глючности скомпилированного кода?
Пытались перевести на BDS2006+sp2 большой проект из под BCB6 + D7.
Не смогли из за огромного количества глюков.
Самый запоминающийся — вылет компилятора, если никакие символы из заголовочного файла не используются, в случае если он подключается косвенно (через несколько уровней.)
До исполнения так и не дошли, так что про глюки рантайма не в курсе.
P.S. Где-то, в этом форуме, пробегала информация, что в BDS2007 компилятор существенно улучшили.
Если его глючность стала хотя бы на уровне bcb6+sp4 — можно делать следующую попытку.
Надежда умирает последней.
Здравствуйте, Tonal-, Вы писали:
AD>>Кто-нибудь использовал сабж? Как эти среды разработки по глючности во AD>>время работы и глючности скомпилированного кода? T>Пытались перевести на BDS2006+sp2 большой проект из под BCB6 + D7. T>Не смогли из за огромного количества глюков.
Угу, имею аналогичный опыт с переводом D6 -> Turbo Delphi (BDS2006). Под D6 все работает, под Трубой — мистический AV при закрытии программы. Причем AV в недрах VCL отсылающий в ntdll (очевидно, что что-то с памятью произошло). Пытаюсь победить в течении 3 дней — пока безрезультатно.
Здравствуйте, DarkMaster, Вы писали: DM>Угу, имею аналогичный опыт с переводом D6 -> Turbo Delphi (BDS2006). Под D6 все работает, под Трубой — мистический AV при закрытии программы. Причем AV в недрах VCL отсылающий в ntdll (очевидно, что что-то с памятью произошло). Пытаюсь победить в течении 3 дней — пока безрезультатно.
Это довольно неприятный, но не уникальный баг.
Обычно он возникает в случаях неверного порядка разрушений объектов.
Когда объекты прямо или косвенно используют друг друга.
Видимо в D6 порядок разрушения был удачным для тебя, а в D2006 нет.
Выловить можно, например трассировкой деструкторов.
В EhLib3 была такая глюча. Иногда, при закрытии delphi вылетало исключение.
У меня была ситуация, когда было много датамодулей. Они создавались динамически и использовали друг друга.
Хотя циклов вроде не было, иногда возникал AV в недрах VCL на закрытии.
Решил кординальным образом — написал код который контролировал порядок разрушения датамодулей.
Здравствуйте, Tonal-, Вы писали:
DM>>Под D6 все работает, под Трубой — мистический AV при закрытии программы. T>Это довольно неприятный, но не уникальный баг. T>Обычно он возникает в случаях неверного порядка разрушений объектов. T>Когда объекты прямо или косвенно используют друг друга.
Пришел к аналогичным выводам.
T>Видимо в D6 порядок разрушения был удачным для тебя, а в D2006 нет. T>Выловить можно, например трассировкой деструкторов.
Фиг Хотя переписав несколько деструкторов (эмпирически вычислил ) добился работоспособности. В общем на 2006 переходить боязно — слишком велика вероятность в больших проектах напороться на подобное. Будем ждать новых студий