Привет усем.
Проблема в следующем:
Написана программа в Дельфе 6 (из тектового файла с разделителем делает выборку и хранит выборку через ADO соединение (без BDE) в файле MDB (Access 2000) в той же папке что и программа).
Проверял запуск, работу и завершение на 3-х машинах (на всех трех стоит одна и таже XP PRof, Office 2000, Delphi 6):
1. GA-8SIMLH/P4-2/256/80G.
2. ноутбук Celeron-1000/128/30 Gb.
3. Intel Brookdale-G i845GL\P4-1.8\512\60 Gb
На 1 и 2 машинах программа нормально запускается, работает и завершается (как через КРЕСТИК, так и через процедуру Close) как при запуске как отдельная программа, так и при запуске из Дельфи.
На третье следующая проблема —
— когда запускает как отдельная программа: запускается, работает (все нормально), закрываю (что через КРЕСТИК, так и через процедуру Close), форма закрывается, но смотрю диспечер задач, а программа весит как процесс и память занимает.
— запуск программы с компиляцией в Дельфе 6: запускается, работает (все нормально), закрываю (что через КРЕСТИК, так и через процедуру Close), форма закрывается, а Delphi весит как в режиме RUN, чтобы перейти в нормальный режим нажимаю Ctrl-F2.
На этой машине — Windows XP специально переустановил, поставил только драйвера, офис 2000, и дельфи 6 — то же самое.
поставил дельфи 7 — никаких изменений.
procedure Tugal_mf.FormClose(Sender: TObject; var Action: TCloseAction);
Var
RegIni : tRegistry ;
begin
RegIni := TRegistry.Create ;
try
RegIni.RootKey := HKEY_CURRENT_USER ;
RegIni.OpenKey(RegDirALUG, True) ;
RegIni.WriteString(RegKeyDir, pathDir.Text);
finally
RegIni.Free;
end;
end;
Что делать?
Здравствуйте, С Виктор Н, Вы писали:
СВН>- запуск программы с компиляцией в Дельфе 6: запускается, работает (все нормально), закрываю (что через КРЕСТИК, так и через процедуру Close), форма закрывается, а Delphi весит как в режиме RUN, чтобы перейти в нормальный режим нажимаю Ctrl-F2.
СВН>Что делать?
Проверить, включен ли в среде вывод сообщений об exception'ах. Такое достаточно характерно для случая, когда происходит ошибка во всякого рода эпилогах. Соответственно, включить и посмотреть, что за ошибка. Исправлять может оказаться довольно тяжело.
Проверить то же поведение на тривиальной программе. Если остается — переустанавливать дельфу, переустанавливать ОС, менять железо...
Включить компиляцию с debug dcu's и пройти отладчиком по коду, выполняющемуся при завершении программы.
Проверить корректность работы программы с памятью. Особенно тщательно проверить уничтожение всяких объектов. Везде использовать процедуру FreeAndNil вместо метода Free.
Повесь приведённый код на кнопочку и проверь корректность выполнения. Может у пользователя отсутствуют права на запись в реестр или нет такого параметра в реестре?...
... << RSDN@Home 1.1.0 stable >>