Помогите очистить стек или оперативную память?
Сделал я программу и возникла такая проблема.
На некоторых компьютерах она работает (более новых) на некоторых нет.
Выдает сообщение Индекс не найден. И все.
Сделал лог файл и начал отслеживать где же ошибка. Вроде нашел. Закоментировал строку и ошибка стала выходить ниже на других строках.
Значит ошибка не в програмировании но а в чем.
Вот я и подумал что я в своих программах совсем не беспокоюсь о верхней памяти, оперативной и о стеке. Только помню что читал об этом когда еще был DOS.
В модуле много раз запрашиваются запросы и в циклах и так ну скажем порядка от 10 до 20 разных Select
Так вот может память как то переполняется или еще что либо подобное (даже не знаю как правильно сказать).
запросы выполняю так (может поможет)
adoquery1.sql.clear;
adoqyery1.sql.add('Select * from db1');
adoquery1.open
и потом опять подобное
adoquery1.sql.clear;
adoqyery1.sql.add('Select * from db2');
adoquery1.open
ну конечно все посложнее с условиями и полей много но принцип такой.
может после каждого запроса надо как то из памяти очищать как скажем с формой
form1.free;
Помогите с такой проблемой!
Спасибо всем.
Цитата: Nice-e
Вот я и подумал что я в своих программах совсем не беспокоюсь о верхней памяти, оперативной и о стеке. Только помню что читал об этом когда еще был DOS.
О верхней памяти беспокоиться в защищенном режиме работы процессора (читай в любой современной ОС) ну никак не приходится, т.к. ее просто нету, вся память доступна без дополнительных ухищрений.
ИМХО копаете не в ту сторону. Приведите код программы и точные сообщения об ошибках, возможно Вам и помогут.
Приведи тип исключения, полный текст ошибки, ну и, конечно БД, с которой работаешь (Access, SQL, ...)