Форум: "Начинающим";
Текущий архив: 2007.06.03;
Скачать: [xml.tar.bz2];
Внизпроблема с большими строковыми константами Найти похожие ветки
← →
StriderMan © (2007-05-16 10:14) [0]есть строковая константа более 7000 строк, килобайт 280 примерно (SQL скрипт).
При компиляции делфи съедает около 800 мегабайт памяти, иногда виснет напрочь. Также подобное иногда случается при РЕДАКТИРОВАНИИ модуля - вываливаются часы и та же истоирия с памятью.
пробовал объявлять как resourcestring - то же самое.
пару раз получилось получить сообщение об ошибке типа
unit contains too many constants, make procedure shortly.
как быть? не хочется вытаскивать скрипт в отдельный файл.
← →
Loginov Dmitry © (2007-05-16 10:28) [1]> есть строковая константа более 7000 строк, килобайт 280
> примерно (SQL скрипт).
Как же ты ее вручную набивал-то хоть?
← →
Jeer © (2007-05-16 10:28) [2]Клади в базу
← →
StriderMan © (2007-05-16 10:31) [3]
> Loginov Dmitry © (16.05.07 10:28) [1]
> Как же ты ее вручную набивал-то хоть?
круглосуточно целый месяц набивал :))
скрипт предназначен для конвертирования структуры БД от одной версии до другой. Сгенерен Database Comparer"ом.
> Клади в базу
смысл? проще в файлик тогда.
← →
clickmaker © (2007-05-16 10:53) [4]а может это... stored proc?
← →
StriderMan © (2007-05-16 11:02) [5]
> clickmaker © (16.05.07 10:53) [4]
> а может это... stored proc?
не понял мысль.
← →
clickmaker © (2007-05-16 11:03) [6]хранимая процедура
← →
StriderMan © (2007-05-16 11:10) [7]
> clickmaker © (16.05.07 11:03) [6]
> хранимая процедура
я знаю что такое stored proc, спасибо
как ХП может помочь в сабж"е?
← →
clickmaker © (2007-05-16 11:21) [8]
> как ХП может помочь в сабж"е?
SQL скрипт в виде нее оформить
← →
SpellCaster (2007-05-16 11:22) [9]Гм, а что мешает хранить скрипт в отдельном файле и динамически подгружать его через Query.SQL.LoadFromFile?
← →
DrPass © (2007-05-16 11:26) [10]
> Также подобное иногда случается при РЕДАКТИРОВАНИИ модуля
> - вываливаются часы и та же истоирия с памятью.
Ну, тут можно посоветовать отключить все опции Code Insight - тогда он не будет делать прекомпиляцию во время редактирования. А вообще это насилие над компилятором. Что он тебе сделал-то?
← →
StriderMan © (2007-05-16 11:35) [11]
> DrPass © (16.05.07 11:26) [10]
> А вообще это насилие над компилятором. Что он тебе сделал-то?
Просто ему не повезло попасть в мои мозолистые руки :)
> SpellCaster (16.05.07 11:22) [9]
> Гм, а что мешает хранить скрипт в отдельном файле
лишние файлы не хочется плодить, но если ничего не останется другого - придется так. на протяжении многих версий все компилировали в экзешник, и теперь менять подход как-то не улыбается.
← →
StriderMan © (2007-05-16 11:56) [12]
> clickmaker © (16.05.07 11:21) [8]
> SQL скрипт в виде нее оформить
как говорится, те де яйца только в профиль :)
объясню подробнее.
у клиента есть база данных со структурой версии Х
программа должна отконвертить ее до версии Y. Для этого существует некий скрипт X->Y.
если делать ХП то возникает вопросы:
1. ХП надо сначала создать в базе версии Х, для этого скрипт все равно надо как-то в нее передать
2. насколько я знаю, изменять метаданные из ХП нельзя (FireBird 1.5).
3. В скрипте иногда делается RECONNECT. Без него не все операции коректно можно выполнить.
← →
StriderMan © (2007-05-16 12:05) [13]гы, в начинающие загнали :)
значит баги в Delphi теперь в начинающих обсуждаются?
Не спорю, такие константы - это экстремально, но хелп ничего не говорит о том что их не стоит использовать. с другой стороны - 300 кб это смешно по современным меркам.
а между тем кроме внешних файлов дельного решения никто не подсказал.
← →
Jeer © (2007-05-16 12:06) [14]
> на протяжении многих версий все компилировали в экзешник,
> и теперь менять подход как-то не улыбается.
Стратегическая ошибка.
← →
StriderMan © (2007-05-16 12:09) [15]
> Jeer © (16.05.07 12:06) [14]
> Стратегическая ошибка.
просто раньше скрипты были на порядок меньше.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.06.03;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.048 c