powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Delphi 7. На "тяжелой" форме не работают точки останова, некорректно ведет себя компилятор
49 сообщений из 49, показаны все 2 страниц
Delphi 7. На "тяжелой" форме не работают точки останова, некорректно ведет себя компилятор
    #39905362
Прохор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго дня.
Уважаемые, помогите советом.
Столкнулся с такой парадоксальной проблемой в Delphi 7. Открыл одну форму старого проекта. Форма чрезвычайно перегружена вкладками, гридами, датасетами. Всего задекларировано на форме 2097 объектов. И в модуле километры кода. Нужно было добавить еще один обработчик.
Случайно обнаружил, что при компиляции часть кода помечается как «неиспользуемый» - не ставятся «синие точки» слева (неверно! код гарантированно выполняемый!) и не работают точки останова. При чем, на «неиспользуемой» строке предсказуемо красная строка точки останова становится зеленой, а на строке кода, которую компилятор пометил как «используемую» (синяя точка стоит), точка останова ставится (красная), но в момент выполнения на ней программа не останавливается.
При этом, в обоих случаях программный код благополучно выполняется!!

Итого две проблемы:
1. В момент компиляции неверно определяется «исполняемая/неисполняемая» строка программного кода
2. Нигде и не при каких условиях не работают точки останова
Замечу, что в остальных формах проекта таких проблем нет.

Далее было долгое и мучительное ковыряние причин. Было предположение, что где-то в каком-то куске кода проблемы, может быть какой-то спец-символ стоит и ведет Дельфю к неадекватности.

В итоге пришли к такой картине –
Весь, абсолютно весь программный код был удален.
Оставлен только:
procedure TXXXForm.FormCreate(Sender: TObject);
begin
showmessage('!!');
end;

на showmessage стоит точка останова и она НЕ работает. Тупик.

Далее абсолютно случайно был удален один очень «тяжелый» cxGrid, содержащий в себе десяток левелов с ДиБиТайблВьюхами в каждой из которых около 30 колумнов, компиляция, запуск и…. точка останова сработала.

Далее, после очень большого количества экспериментов пришел к выводу – виной всему количество объектов на форме. Произвольное удаление ЛЮБЫХ объектов в существенном объеме приводит к тому, что точка останова начинает работать корректно.

Был удивлен таким положением дел.

Уважаемые, что скажите? Как побороть?
Заранее – спасибо.
...
Рейтинг: 0 / 0
Delphi 7. На "тяжелой" форме не работают точки останова, некорректно ведет себя компилятор
    #39905366
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ребилд проекта сделайте.
Предварительно удалите все DCU.
...
Рейтинг: 0 / 0
Delphi 7. На "тяжелой" форме не работают точки останова, некорректно ведет себя компилятор
    #39905398
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прохор,

Открыть исходник в Notepad++, поменять концы строк сначала на Unix (LF), потом на Windows (CR LF), сохранить исходник.
После этого проверьте.

P.S: Я надеюсь вы сообразили сделать резервную копию проекта перед всеми экспериментами? :)
...
Рейтинг: 0 / 0
Delphi 7. На "тяжелой" форме не работают точки останова, некорректно ведет себя компилятор
    #39905420
Прохор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам,
не помогло ((
...
Рейтинг: 0 / 0
Delphi 7. На "тяжелой" форме не работают точки останова, некорректно ведет себя компилятор
    #39905428
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прохор
Гаджимурадов Рустам,
не помогло ((

Точки останова расположенные не в тех местах говорят о том, что текстовый код и скомпелированный с DCU отличаются. То есть DCU цепляются с другого места
...
Рейтинг: 0 / 0
Delphi 7. На "тяжелой" форме не работают точки останова, некорректно ведет себя компилятор
    #39905429
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приложи проект архивом (сторонние либы используются) ?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Delphi 7. На "тяжелой" форме не работают точки останова, некорректно ведет себя компилятор
    #39905434
Прохор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alekcvp,
не помогло ((

Гаджимурадов Рустам
постараюсь сделать отдельный маленький проектик с одной этой формой и выложу. чуть позже.

Еще раз подчеркну главный момент -
я не вношу никаких изменений, просто удаляю с формы произвольные компоненты с формы и все работает.

мне кажется это ключевое. но могу и ошибаться.
...
Рейтинг: 0 / 0
Delphi 7. На "тяжелой" форме не работают точки останова, некорректно ведет себя компилятор
    #39905437
L_argo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПрохорБыл удивлен таким положением дел.А таким кол-вом кода и объектов не удивлен ?
...
Рейтинг: 0 / 0
Delphi 7. На "тяжелой" форме не работают точки останова, некорректно ведет себя компилятор
    #39905448
Прохор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
L_argo
ПрохорБыл удивлен таким положением дел.
А таким кол-вом кода и объектов не удивлен ?
никогда и нигде не встречал инфы, что есть какие-либо подобные ограничения
...
Рейтинг: 0 / 0
Delphi 7. На "тяжелой" форме не работают точки останова, некорректно ведет себя компилятор
    #39905458
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaBr
Прохор
Гаджимурадов Рустам,
не помогло ((

Точки останова расположенные не в тех местах говорят о том, что текстовый код и скомпелированный с DCU отличаются. То есть DCU цепляются с другого места

Чаще встречалось из-за того что код откуда-то копировался и вставлялись нестандартные концы строк.
И тогда у компилятора "съезжали" номера строк, относительно редактора. Т.е. где-то в коде точек не было, а где-то они были на неисполняемых строках, типа procedure blabla...
...
Рейтинг: 0 / 0
Delphi 7. На "тяжелой" форме не работают точки останова, некорректно ведет себя компилятор
    #39905465
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создайте новый проект, скопируйте в него вашу "тяжёлую" форму, сохраните в отдельную папочку и компельните.
...
Рейтинг: 0 / 0
Delphi 7. На "тяжелой" форме не работают точки останова, некорректно ведет себя компилятор
    #39905476
Прохор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот, кому интересно.
Во вложении тестовый мини- проектик, с одной этой формой. Все помаксимому вырезал и лишнее убрал.
Нужна devexpress библиотека.
...
Рейтинг: 0 / 0
Delphi 7. На "тяжелой" форме не работают точки останова, некорректно ведет себя компилятор
    #39905497
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Toolbar2000 ?
...
Рейтинг: 0 / 0
Delphi 7. На "тяжелой" форме не работают точки останова, некорректно ведет себя компилятор
    #39905501
Прохор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaBr
Toolbar2000 ?

да, про него забыл.

Toolbar2000 + DevExpress. Больше, кажется, ничего нет.
...
Рейтинг: 0 / 0
Delphi 7. На "тяжелой" форме не работают точки останова, некорректно ведет себя компилятор
    #39905509
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выкинул T2000
...
Рейтинг: 0 / 0
Delphi 7. На "тяжелой" форме не работают точки останова, некорректно ведет себя компилятор
    #39905520
Прохор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaBr,
с удаленным тулбаром у меня аналогично (см.вложение).
Такого же результата добиваюсь, если с формы произвольно удалить несколько любых других объектов.

В том виде, что выложил в архиве, т.е. без удаления тулбара либо любых других объектов - результат как в первом сообщении.
...
Рейтинг: 0 / 0
Delphi 7. На "тяжелой" форме не работают точки останова, некорректно ведет себя компилятор
    #39905524
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Такое ощущение, что кто-то лохматит бабушку.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Delphi 7. На "тяжелой" форме не работают точки останова, некорректно ведет себя компилятор
    #39905526
Прохор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам,
???

мне сделать видео с экрана?
...
Рейтинг: 0 / 0
Delphi 7. На "тяжелой" форме не работают точки останова, некорректно ведет себя компилятор
    #39905529
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прохор
В том виде, что выложил в архиве, т.е. без удаления тулбара либо любых других объектов - результат как в первом сообщении.

Ваш архив подразумевает установку T2000, коего у меня нет.
Очень сомневаюсь, что удаление ТВ может повлиять на компиляцию.
Видал формы и поболее, которые прекрасно компиляются.
Некорректные точки останова встречал только из-за неправильного подхватывания DCU.
...
Рейтинг: 0 / 0
Delphi 7. На "тяжелой" форме не работают точки останова, некорректно ведет себя компилятор
    #39905530
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну проверьте пути каталогов в опциях проекта.
И добавьте что-нибудь ненужное на форму - label, кнопку.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Delphi 7. На "тяжелой" форме не работают точки останова, некорректно ведет себя компилятор
    #39905533
vavan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaBr
прекрасно компиляются
как я понял с компилом, сборкой и выполнением проблем нет а рвет кепку долбаггеру в среде
...
Рейтинг: 0 / 0
Delphi 7. На "тяжелой" форме не работают точки останова, некорректно ведет себя компилятор
    #39905537
Прохор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaBr,
Проект компилится и запускается с тулбаром и без него!
Вопрос только в том - работает или нет точка останова.
Удаление тулбара (который содержит большое количество элементов) в данном случае эквивалентно удалению, допустим одного или двух гридов.
Т.е. кол-во объектов на форме уменьшается, точка останова появляется.
Сейчас постараюсь сделать видео с экрана (только без звука)
...
Рейтинг: 0 / 0
Delphi 7. На "тяжелой" форме не работают точки останова, некорректно ведет себя компилятор
    #39905546
Прохор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YouTube Video
...
Рейтинг: 0 / 0
Delphi 7. На "тяжелой" форме не работают точки останова, некорректно ведет себя компилятор
    #39905571
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прохор

Удаление тулбара (который содержит большое количество элементов) в данном случае эквивалентно удалению, допустим одного или двух гридов.

Удалите тулбар и добавьте пару сотен Хранимых процедур, чтобы количество компонентов не уменьшалось
...
Рейтинг: 0 / 0
Delphi 7. На "тяжелой" форме не работают точки останова, некорректно ведет себя компилятор
    #39905573
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для чистоты эксперимента, переименуйте форму и сохраните под новым именем
...
Рейтинг: 0 / 0
Delphi 7. На "тяжелой" форме не работают точки останова, некорректно ведет себя компилятор
    #39905615
Прохор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaBr,
удалил, вместо сотни хранимок скопипастил жирный грид
Форму переименовал.
Результат тотже
...
Рейтинг: 0 / 0
Delphi 7. На "тяжелой" форме не работают точки останова, некорректно ведет себя компилятор
    #39905642
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Delphi 7. На "тяжелой" форме не работают точки останова, некорректно ведет себя компилятор
    #39905652
alekcvp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прохор,

А какие-нибудь cnWizards не установлены? И вообще если отключить эксперты?
...
Рейтинг: 0 / 0
Delphi 7. На "тяжелой" форме не работают точки останова, некорректно ведет себя компилятор
    #39905656
Прохор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaBr,

версия дельфей какая?
сейчас перепроверил еще на одной рабочей станцией с D7 - результат аналогичен моему.

YouTube Video
...
Рейтинг: 0 / 0
Delphi 7. На "тяжелой" форме не работают точки останова, некорректно ведет себя компилятор
    #39905809
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделал пустой проект, кинул cxGrid и добавил в него 100 колонок. Наплодил 25 гридов.

Действительно, после некоторого количества строк пропадает точки компиляции в D7 !!!



Что можно посоветовать ?
1. Перенести запросы в DataModule
2. Создавать колонки типа Day1, Day2 ..... динамически
3. Перенести View в DataModule (использовать cxViewRepoditory)

Думаю, что этих действий вполне будет достаточно


Тут человек тоже пишет об этой проблеме в D7
...
Рейтинг: 0 / 0
Delphi 7. На "тяжелой" форме не работают точки останова, некорректно ведет себя компилятор
    #39905818
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня такое периодически бывает.

Когда я создаю новы проект путем копирования папки под новым именем и открываю проект изнутри новой, и забываю, что открытые автоматом модули проекта - на самом деле из старой папки, и когда я их редактирую - отладчик так и скачет.
...
Рейтинг: 0 / 0
Delphi 7. На "тяжелой" форме не работают точки останова, некорректно ведет себя компилятор
    #39905864
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaBr
...кинул cxGrid и добавил в него 100 колонок. Наплодил 25 гридов.


Возможно, разум IDE таким образом борется с неразумными программистами.
...
Рейтинг: 0 / 0
Delphi 7. На "тяжелой" форме не работают точки останова, некорректно ведет себя компилятор
    #39905865
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ёёёёё
Возможно, разум IDE таким образом борется с неразумными программистами.

В последующих версиях отказались от этой затеи, поняв что неразумных не победить ?
...
Рейтинг: 0 / 0
Delphi 7. На "тяжелой" форме не работают точки останова, некорректно ведет себя компилятор
    #39905871
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaBr,

Толерантность повысилась.
...
Рейтинг: 0 / 0
Delphi 7. На "тяжелой" форме не работают точки останова, некорректно ведет себя компилятор
    #39905918
Прохор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaBr
Сделал пустой проект, кинул cxGrid и добавил в него 100 колонок. Наплодил 25 гридов.
Действительно, после некоторого количества строк пропадает точки компиляции в D7 !!!
Что можно посоветовать ?
1. Перенести запросы в DataModule
2. Создавать колонки типа Day1, Day2 ..... динамически
3. Перенести View в DataModule (использовать cxViewRepoditory)


Бинго!
В качестве еще одного решения могу добавить - перевод каких-то объектов на фреймы.

Но вопрос все-же остается - можно ли это как-то победить?
Какие-то директивы компилятора?
...
Рейтинг: 0 / 0
Delphi 7. На "тяжелой" форме не работают точки останова, некорректно ведет себя компилятор
    #39905919
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaBr
ёёёёё
Возможно, разум IDE таким образом борется с неразумными программистами.

В последующих версиях отказались от этой затеи, поняв что неразумных не победить ?

Я не тестировал последние... :)
...
Рейтинг: 0 / 0
Delphi 7. На "тяжелой" форме не работают точки останова, некорректно ведет себя компилятор
    #39905925
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прохор
Но вопрос все-же остается - можно ли это как-то победить?
Какие-то директивы компилятора?

Никак. Перейти не версию посвежее, уменьшить количество объектов
...
Рейтинг: 0 / 0
Delphi 7. На "тяжелой" форме не работают точки останова, некорректно ведет себя компилятор
    #39905982
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все невизуальные дата-объекты лучше выносить в датамодули. Может, тогда и проблема решится.
...
Рейтинг: 0 / 0
Delphi 7. На "тяжелой" форме не работают точки останова, некорректно ведет себя компилятор
    #39907326
white_nigger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ёёёёё

Возможно, разум IDE таким образом борется с неразумными программистами.
Святые слова!
...
Рейтинг: 0 / 0
Delphi 7. На "тяжелой" форме не работают точки останова, некорректно ведет себя компилятор
    #39909142
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Василий 2
Все невизуальные дата-объекты лучше выносить в датамодули. Может, тогда и проблема решится.
Тот еще мрак. У нас есть в аккурат такая помойка с изобилием глобальных объектов (за такое кол-во глобальных датасетов и прочей хрени руки чешутся поколотить того, кто это придумал), так вот она(среда разработки) стала падать ровно с теми же симптомами, пока не уменьшили число объектов и спец приказом коллегам запретили туда добавлять что-либо.

Мегапомойки с кодлой объектов - зло!
...
Рейтинг: 0 / 0
Delphi 7. На "тяжелой" форме не работают точки останова, некорректно ведет себя компилятор
    #39909759
Valery_B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevsky
Мегапомойки с кодлой объектов - зло!

На самом деле, это называется Божественный объект
Но обычно, Делфи-разработчики не читают про шаблоны и прочую туфту.
т.к. у них 20 лет опыта подобной разработки и т.п.

п.с.
Посмотрел ссылки на видео с ютуба.
Возник вопрос - это для таких проектов в вакансиях пишут требование "Умение разбираться в чужом коде" ?
...
Рейтинг: 0 / 0
Delphi 7. На "тяжелой" форме не работают точки останова, некорректно ведет себя компилятор
    #39909908
white_nigger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valery_B
Ivan_Pisarevsky
Мегапомойки с кодлой объектов - зло!

На самом деле, это называется Божественный объект
Но обычно, Делфи-разработчики не читают про шаблоны и прочую туфту.
т.к. у них 20 лет опыта подобной разработки и т.п.
К чему этот пост? Это антипаттерн , и да - это зло, о чём собственно и написано в вики
...
Рейтинг: 0 / 0
Delphi 7. На "тяжелой" форме не работают точки останова, некорректно ведет себя компилятор
    #39911888
tunknown
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В некоторых случаях решается через удаление необязательных объектов .
...
Рейтинг: 0 / 0
Delphi 7. На "тяжелой" форме не работают точки останова, некорректно ведет себя компилятор
    #39912096
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevsky
Тот еще мрак. У нас есть в аккурат такая помойка с изобилием глобальных объектов (за такое кол-во глобальных датасетов и прочей хрени руки чешутся поколотить того, кто это придумал), так вот она(среда разработки) стала падать ровно с теми же симптомами, пока не уменьшили число объектов и спец приказом коллегам запретили туда добавлять что-либо.
Мегапомойки с кодлой объектов - зло!

Открою один страшно секретный секрет: датамодулей может быть больше одного!
...
Рейтинг: 0 / 0
Delphi 7. На "тяжелой" форме не работают точки останова, некорректно ведет себя компилятор
    #39912109
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
09.01.2020 16:00, Василий 2 пишет:
>
> Открою один страшно секретный секрет: датамодулей может быть больше одного!

одной кучи говн@ кому-то может быть мало...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Delphi 7. На "тяжелой" форме не работают точки останова, некорректно ведет себя компилятор
    #39912205
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну конечно, лучше иметь эту кучу говна на форме)))
...
Рейтинг: 0 / 0
Delphi 7. На "тяжелой" форме не работают точки останова, некорректно ведет себя компилятор
    #39912227
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Василий 2
Ну конечно, лучше иметь эту кучу говна на форме)))
Принципиальной разницы нет))
...
Рейтинг: 0 / 0
Delphi 7. На "тяжелой" форме не работают точки останова, некорректно ведет себя компилятор
    #39912331
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRock
Принципиальной разницы нет))

Нет, кроме сабжа :-Р
Ну и дурацкой идеи о каком-никаком разделении слоёв доступа к данным и отображения.
...
Рейтинг: 0 / 0
Delphi 7. На "тяжелой" форме не работают точки останова, некорректно ведет себя компилятор
    #39912346
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
10.01.2020 10:59, Василий 2 пишет:
> Ну и дурацкой идеи о каком-никаком разделении слоёв доступа к данным и отображения.

хочешь разделения - юзай жабу, (т)очко.нет и прочие фреймворки/языки с насаждаемым ORM-ом.
в Delphi оно чужеродное и трудно пришиваемое белыми нитками (на соплях).
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
49 сообщений из 49, показаны все 2 страниц
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Delphi 7. На "тяжелой" форме не работают точки останова, некорректно ведет себя компилятор
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]