Форум: "Основная";
Текущий архив: 2005.02.27;
Скачать: [xml.tar.bz2];
ВнизГлюки system.pas Найти похожие ветки
← →
Дмитрий В. Белькевич (2005-02-13 03:27) [0]Проблема:
Сползшие брякпоинты в System.pas. Крайне необходимо нормально потрасить этот модуль.
Что делал:
Пытался пропустить sys.pas через tstringlist, что бы почистить концы строк. Не помогло. Никаких изменений в sys.pas не произошло.
Пытался стересть system.dcu в \lib и в \lib\debug. Не помогло. Делфя всё равно откуда-то берет модуль.
Пытался переименовать system.pas и перекомпилить. Не компилиться. Говорит, что какие-то проблемы с интерфейсами (ну, не работал я с ними, ошибки точно не помню, но могу уточнить, если это что-то поменяет).
Софт: delphi 7, xp or 98.
Вопрос:
Как обычно, кто виноват, и что делать?
← →
Набережных С. © (2005-02-13 09:24) [1]Build пробовал?
← →
Дмитрий В. Белькевич (2005-02-13 13:26) [2]Ессно.
Не пойму, откуда делфи вообще system.dcu берет. Просканил весь веник на наличие system.dcu - только два файла, оба стираю, всё равно подключает. Пакет dcu вообще возможен? Может в каком пакете находит. Я что-то совсем потерялся. Как говорится, такого не может быть, потому, что не может быть никогда. Одна ко ж...
Посмотрел в дистрибут, подумал может кривой патч поставил. Нет. System.dcu и .pas без изменений. Может дистрибутив кривой, я уж совсем не знаю, на что думать.
← →
Eraser © (2005-02-13 13:38) [3]Дмитрий В. Белькевич
А в чём собственно проблема?
Крайне необходимо нормально потрасить этот модуль. зачем?
← →
DrPass © (2005-02-13 13:39) [4]System - это несколько особый модуль, он на самом деле реализуется с помощью "магии компилятора" (цитата), просто так его собрать/оттрассировать нельзя. Процедуры и функции System в большинстве своем по сути являются операторами языка и инлайнятся в код. Просто они внешне выглядят как процедуры отдельного модуля, чтобы не коверкать идеологию языка.
← →
Просто Джо © (2005-02-13 14:12) [5]Попробуй перебилдить все так:
в директории ..\Source\Rtl запускаешь make. В папку Lib (если ее нет, нужно создать) положится скомпилированный Rtl, в том числе и system.dcu.
Это в Д6, в 7 может, структура каталогов чуть отличается.
← →
Набережных С. © (2005-02-13 14:30) [6]>DrPass © (13.02.05 13:39) [4]
Ну зачем же так мрачно. Далеко не весь System "на самом деле реализуется с помощью "магии компилятора"" И все функции и методы, описанные в нем вполне поддаются трассировке. По крайней мере, у меня это никогда не было проблемой, а делал я это достаточно часто.
>Дмитрий В. Белькевич (13.02.05 13:26) [2]
Зря ты его трогал. Может, где измененная версия лежит? Не нужно его править, к добру не приведет. Теперь надо поиском найти все реинкарнации его pas и dcu, удалить их, и восстановить родные из инсталляции. Не троже генофонд, как говорит А.Подгорецкий:)
← →
Eraser © (2005-02-13 14:40) [7]Дмитрий В. Белькевич
ИМХО проще переустановить делфи, раз найт- проблема.
Не троже генофонд согласен!
← →
Дмитрий В. Белькевич (2005-02-14 03:36) [8]Разобрался таки.
Генофонд _я_ не трогал. Генофонд испоганил кривой патч. Хотя вытянул я его с официального сайта.
Проблема была всё таки в несоответствии исходников и самой либы. Либа оказалась пропатчена патчем от борланда, а исходники - нет.
Более того, system.dcu где-то кешируется, и если с ним проект собрать хотябы один раз, то дальнейшее стирание system.dcu не является помехой для компиляции/сборки.
Если же проект закрыть/открыть - пишет таки, что system.dcu не найден.
Компилить, правда, заново system.pas не пробовал. Но наверное не откомпилиться.
Делфи не переставлял, но вернул назад пропатченные .dcu и .pas. Сразу задавало. Все бряки на место встали.
>А в чём собственно проблема?
>Крайне необходимо нормально потрасить этот модуль.
>зачем?
Никак не могу отловить av при закрытии программы. Валится гадина на ровном месте. При уничтожении формы, вероятно при уничтожении компоненты TDxDraw. Совсем замучался и в дебри деструкторов залез. Пока безрезультатно. Благо, хоть глюк стабилизировался.
← →
Digitman © (2005-02-14 08:35) [9]
> Дмитрий В. Белькевич
где-то ты с интерфейсами намудрил, вероятно ..
возможно, время жизни интерфейсной переменной больше времени жизни объекта, предоставляющего интерфейс, ссылка на который хранилась в этой переменной
← →
Дмитрий В. Белькевич (2005-02-15 04:31) [10]Нашел таки глюк. Оказалось, dx совсем не при чем - апдейтер бд как-то криво с ibquery связан был. Ну, блин, кровушки попил...
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.02.27;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.061 c