Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.066 c
11-1160746037
Psychedelic
2006-10-13 17:27
2007.06.03
Мигание формы при установке Alphablend


2-1179214892
GRT_
2007-05-15 11:41
2007.06.03
из string в ChekListBox


3-1173788472
Thely
2007-03-13 15:21
2007.06.03
IBExpress & FastReport3 ?


15-1178569913
Германн
2007-05-08 00:31
2007.06.03
С жиру бесятся (Каждый сходит с ума по своему :)


15-1178552374
vitv
2007-05-07 19:39
2007.06.03
Настройка доступа в Вин2003.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский