Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Мусор на рабочем столе


Автор: NiJazz 7.2.2005, 20:15
Программа - БД, создана на Delphi 7. Используется БД Paradox и альяс в BDE. Создан инсталлятор для установки на машину, который создает ярлык на рабочем столе. При запуске программы с помощью этого ярлыка, на десктопе появляются временные файлы *.MB и еще какой-то мусор. Как можно устранить эту проблему?
Такое возникает только при запуске с этого ярлыка на десктопе.
PS Говорят, что тут дело в рабочем каталоге. Как с этим работать, если так?

Автор: Kesh 7.2.2005, 20:26
Надо изменять рабочий каталог на каталог, в котором лежит исполняемый файл... А у тебя он скорее всего пуст...

Автор: Alex 7.2.2005, 20:33
Database1.Session.PrivateDir:= 'Каталог для темповых файлов';

Автор: NiJazz 7.2.2005, 22:11
Alex
Что делать, если я не использовал TDatabase?

Автор: Vit 7.2.2005, 22:28
Session.PrivateDir ?

Автор: NiJazz 8.2.2005, 09:23
Сделал так:
Код

procedure Tdm.DataModuleCreate(Sender: TObject);
var pPath: PChar;
begin
GetMem(pPath, max_path);
GetModuleFileName(0, pPath, max_path);
Database1.Session.PrivateDir := ExtractFilePath(string(pPath));
FreeMem(pPath);
end;

Этот код завершается ошибкой "Directory is busy". Что это значит?

Автор: Alex 8.2.2005, 09:38
Database1.Session.PrivateDir := ExtractFilePath(ParamStr(0));

Автор: NiJazz 8.2.2005, 09:48
Видимо, дуло тут в том, что это присваивание нужно делать при Connected = false, а затем выполнять соединение.
Добавлено @ 09:49
Alex
Спасибо, теперь всё работает.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)