Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.27;
Скачать: CL | DM;

Вниз

Глюки 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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.044 c
6-1103702105
BJValentine
2004-12-22 10:55
2005.02.27
Свободное дисковое пространство на удаленном компе


3-1106890112
Leon1
2005-01-28 08:28
2005.02.27
Нумерация документов


14-1107258608
Луарвик
2005-02-01 14:50
2005.02.27
Плиз, помогите решить пример с модулями...


1-1107705137
Jilian
2005-02-06 18:52
2005.02.27
Вопрос по текстовому файлу


4-1106002721
ev
2005-01-18 01:58
2005.02.27
как сделать логический диск?