Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2007.11.25;
Скачать: [xml.tar.bz2];

Вниз

Есть ли предел для размеров DataModule?   Найти похожие ветки 

 
Petrovsky   (2007-10-22 14:38) [0]

Проблема в следующем:
В какой-то момент стал некорректно вести себя отладчик в DataModule довольно большой программы - либо совсем не попадал в процедуры, расположенные в нем, либо попадал в совершенно нелогичные (но для конкретных случаев - в одни и те же) места. Откомпилированный файл в основном работает нормально, хотя есть проблемы - не везде правильно вычисляемые поля считаются.  Пытался вычистить все DCU-файлы - не помогло. Предположил, что где-то все-таки что-то подвисло, что заставляет программу "гулять" не там, где надо. Решил переделать DataModule. Сделал новый модуль с другим именем, перегнал туда все наборы данных, процедуры и все прочее. Результат тот-же. Теперь уже думаю, может с объемом не справляется? А он таки не маленький - более 10 тыс. строк кода (более 300 кб pas-файл), более 300 компонент в нем помещено (около 580 кб dfm-файл).
С настройками и в Prodject -> Options -> Compiller  и в Tools -> Debugger Options игрался - не помогло. Может кто подскажет - в чем причина?


 
Игорь Шевченко ©   (2007-10-22 14:39) [1]


> А он таки не маленький - более 10 тыс. строк кода (более
> 300 кб pas-файл), более 300 компонент в нем помещено (около
> 580 кб dfm-файл).


У меня только один вопрос - а как ты в этом зоопарке разбираешься ? в 300-х компонентах в одном окне.


 
clickmaker ©   (2007-10-22 14:39) [2]

может, разбить на несколько более мелких?


 
Petrovsky   (2007-10-22 14:44) [3]


> Игорь Шевченко ©   (22.10.07 14:39) [1]

А по существу вопроса?


 
Sergey13 ©   (2007-10-22 14:51) [4]

> [0] Petrovsky   (22.10.07 14:38)

Работал с датамодулями подобного объема. Подобных глюков не замечал. Может дело в самих компонентах? Ничего экзотического не юзаешь?


 
Petrovsky   (2007-10-22 14:55) [5]


> Sergey13 ©   (22.10.07 14:51) [4]

Да нет, только ADO-компоненты для связи с базой, расположенной на MS SQL сервере.


 
Правильный_Вася   (2007-10-22 15:28) [6]

разбей на несколько датамодуйле по смысловым группам


 
homm ©   (2007-10-22 15:29) [7]

> [0] Petrovsky   (22.10.07 14:38)

Есть предел для размера юнита. 64кб. Потом дебагеру крышу сносит.


 
homm ©   (2007-10-22 15:31) [8]

> [7] homm ©   (22.10.07 15:29)

Это кстати для старых версий, в 2006 скорее всего ничего такого нет.


 
Ins ©   (2007-10-22 15:33) [9]


> Есть предел для размера юнита. 64кб. Потом дебагеру крышу
> сносит.

Странно, у меня на семерочке полно более тяжеловестных юнитов в проектах, ничего подобного не наблюдал. Откуда сведения?


 
Skyle ©   (2007-10-22 15:37) [10]


> homm ©   (22.10.07 15:29) [7]
> Есть предел для размера юнита. 64кб. Потом дебагеру крышу
> сносит.

У меня D5, юнитов больше 64к есть, крыша на месте.


 
clickmaker ©   (2007-10-22 15:40) [11]

в Д5 наблюдал только один глюк при работе с dfm > 200k: не сохраняет с первого раза и не компилит. Вторая попытка проходит нормально.


 
tesseract ©   (2007-10-22 15:50) [12]


> Да нет, только ADO-компоненты для связи с базой, расположенной
> на MS SQL сервере.


Может пора на SQL тогда переходить ? Нагрузка снизиться в 10-ки раз, да и объем уменьшиться.


 
homm ©   (2007-10-22 15:55) [13]

> [9] Ins ©   (22.10.07 15:33)
> Странно, у меня на семерочке полно более тяжеловестных юнитов
> в проектах, ничего подобного не наблюдал. Откуда сведения?

У Владимира Кладова, который из-за это проблемы постоянно держит размер kol.pas на уровне. Насчет семерочки не знаю, но сам видел как на д5 дебагер ложился.


 
Petrovsky   (2007-10-22 15:57) [14]


> homm ©   (22.10.07 15:29) [7],[8]


Я работаю с D5.


> tesseract ©   (22.10.07 15:50) [12]


Т.е.?


 
tesseract ©   (2007-10-22 16:05) [15]


> Т.е.?


с Table на Query.


 
Jump   (2007-10-22 16:14) [16]

Есть предел для размера юнита. 64кб. Потом дебагеру крышу сносит.

Жаль, разрабочики VCL этого не знали...
И я вот не знал...
Что ж теперь делать?
Будут ли мои проекты комплироваться ТЕПЕРЬ, когда я узнал это сакраментальное ограничение?


 
homm ©   (2007-10-22 16:22) [17]

> [16] Jump   (22.10.07 16:14)
> Будут ли мои проекты комплироваться ТЕПЕРЬ, когда я узнал
> это сакраментальное ограничение?

Blb d pflybwe. Просто я знаю, что есть конкретный номер, в котором дебагер перестает работать в Д5 при достижении размера 64кб. Если эти сведения кому-то помогут, я буду рад, нет так нет.


 
Petrovsky   (2007-10-22 16:22) [18]


> tesseract ©   (22.10.07 16:05) [15]

> с Table на Query.
>


Да Table там и нет. Только ADODataSet, ADOQuery и ADOStoredProc.


 
homm ©   (2007-10-22 16:23) [19]

> [17] homm ©   (22.10.07 16:22)
> есть конкретный номер

модуль


 
Ins ©   (2007-10-22 16:25) [20]


> homm ©   (22.10.07 16:23) [19]

А что из себя представляет "переставание работать"?


 
Petrovsky   (2007-10-22 16:26) [21]


> homm ©   (22.10.07 16:22) [17]

Есть надежда, что помогут. Выкладывай. Заранее спасибо большое.


 
homm ©   (2007-10-22 16:31) [22]

> [20] Ins ©   (22.10.07 16:25)
> А что из себя представляет "переставание работать"?

Ставишь точку останова, а он на ней не останавливается, или вообще помечает болотным цветом (как будто это пустая строка или данные). Синие точки, призваные сообщать, что данная строка скомпилирована находятся явно не на своих местах. Причем по их послеовательности можно догадатся, что имеется ввижу какой-то другой участок кода, нежели отображающийся в редакторе, но определить какой — проблематично.


 
homm ©   (2007-10-22 16:33) [23]

> [21] Petrovsky   (22.10.07 16:26)
> Есть надежда, что помогут. Выкладывай.

Чего выкладывать? Я все в [7] выложил.


 
tesseract ©   (2007-10-22 16:33) [24]


> Да Table там и нет. Только ADODataSet, ADOQuery и ADOStoredProc.


300 штук ?  Жуткая растрата. Всегда SQL-запрос создавал по необходимости. И интересно, зачем в query вычисляемые поля ? На сервере не проще ?


 
Ins ©   (2007-10-22 16:35) [25]


> Ставишь точку останова, а он на ней не останавливается,
> или вообще помечает болотным цветом (как будто это пустая
> строка или данные). Синие точки, призваные сообщать, что
> данная строка скомпилирована находятся явно не на своих
> местах. Причем по их послеовательности можно догадатся,
> что имеется ввижу какой-то другой участок кода, нежели отображающийся
> в редакторе, но определить какой — проблематично.

http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1025 - Оно?


 
Anatoly Podgoretsky ©   (2007-10-22 19:21) [26]

> Petrovsky  (22.10.2007 16:22:18)  [18]

А зачем такой зоопарк?


 
Anatoly Podgoretsky ©   (2007-10-22 19:22) [27]

> homm  (22.10.2007 16:31:22)  [22]

У тебя просто бардак в модулях.


 
Jump   (2007-10-22 19:32) [28]

Anatoly Podgoretsky ©   (22.10.07 19:22) [27]
У тебя просто бардак в модулях.


Разруха - она в головах. (С) Ф. Ф. Преображенский


 
homm ©   (2007-10-22 19:51) [29]

> У тебя просто бардак в модулях.

Я кстати покорейши прошу прощения! Я что-то совсем попутал. 64К это не вес модуля! Это количество строк. Как только их переваливает за 65536, происходит описание выше.

> [28] Jump   (22.10.07 19:32)
> Разруха - она в головах. (С) Ф. Ф. Преображенский

Мне интересна цель данного поста.
1) Поведать нам о такой замечательной фразе? Не получилось, все и так ее знали.
2) Блестнуть умом? Ну тявкунул ты какую-то умную мысль, при этом интересно как она относлась к делу? Возможно ты хотел сказать, что разруха она в моей голове? Отчегоже, я же сказал ,что модули не мои. Возможно ты хотел это сказать про Анатолия? Дак он вроде совсем непричем. Видимо это было все-же про твою голову друг и ты решил поделится печалью…


 
homm ©   (2007-10-22 19:53) [30]

Модуль kol.pas, кстати, почти 2 мегабайта :)
Но строк там всегда строго меньше 65536.


 
Anatoly Podgoretsky ©   (2007-10-22 19:56) [31]

> homm  (22.10.2007 19:53:30)  [30]

Панов тестировал с 3 миллонами строк!


 
homm ©   (2007-10-22 19:57) [32]

> [31] Anatoly Podgoretsky ©   (22.10.07 19:56)
> Панов тестировал с 3 миллонами строк!

Он отлаживал модуль в Delphi IDE ? о_О


 
Anatoly Podgoretsky ©   (2007-10-22 19:57) [33]


> homm ©   (22.10.07 19:51) [29]

Кончай разборки.


 
Anatoly Podgoretsky ©   (2007-10-22 20:01) [34]

> homm  (22.10.2007 19:57:32)  [32]

Было два вариант, один в ИДЕ, а второй dcc
Естественно второй больше строк съел.
Но одно точно, 64535 не было пределом. Предел был выше и он возникал не от количества строк, а от количества потребной памяти, хана наступала примерно около 2 гб.


 
homm ©   (2007-10-22 20:05) [35]

> [34] Anatoly Podgoretsky ©   (22.10.07 20:01)

Просто хочу проверить еше раз.
Вы утверждаете, что при количестве строк > 65600, загруженных в редактор кода Дельфи не старше пятой версии верно срабатывались точки остонова, а синие точки появлялись именно напротив компилируемых строк?


 
Ins ©   (2007-10-22 20:06) [36]


> Я кстати покорейши прошу прощения! Я что-то совсем попутал.
> 64К это не вес модуля! Это количество строк. Как только
> их переваливает за 65536, происходит описание выше.

Честно признаюсь, что у меня таких юнитов в проектах вроде бы не было, но с эффектом, который вы мне привели сталкивался. Причина всегда была именно та, что я привел в [25].


 
Ins ©   (2007-10-22 20:10) [37]


> Просто хочу проверить еше раз.

Вот мне было бы интересно, к тому же хотелось бы проверить и на D7. Если такой эффект имеет место быть, буду иметь его в виду. Так что, если есть возможность, проверьте, а также убедитесь что причина именно в количестве строк, а не в [25].


 
Anatoly Podgoretsky ©   (2007-10-22 20:11) [38]


> Ins ©   (22.10.07 20:10) [37]

А вот указаная причина часто наблюдается и также бардак в путях.


 
Ins ©   (2007-10-22 20:13) [39]


> и также бардак в путях.

Это типа когда dcu не соответствует pas?


 
Anatoly Podgoretsky ©   (2007-10-22 20:14) [40]


> homm ©   (22.10.07 20:05) [35]

Ты хочешь, чтобы я точно вспомнил, спустя несколько лет?
Зато проблему CRLF и неверные пути в конфигурации не раз наблюдал и сам нарывался.



Страницы: 1 2 вся ветка

Форум: "Прочее";
Текущий архив: 2007.11.25;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.55 MB
Время: 0.067 c
1-1189155493
dima_q
2007-09-07 12:58
2007.11.25
Локализация в Delphi


2-1193658179
Sonia
2007-10-29 14:42
2007.11.25
dxDBGrid и OnMouseMove


15-1193213064
Petr V.Abramov
2007-10-24 12:04
2007.11.25
Oracle <-> MSSQL


15-1192827366
Nic
2007-10-20 00:56
2007.11.25
Какой регистратор лучше для...


15-1192869376
hahol_64_rus
2007-10-20 12:36
2007.11.25
блокнотик





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский