|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
13.01.2011, 16:03 | #1 |
Пользователь
Регистрация: 07.12.2009
Сообщений: 26
|
BDE с диска
Тут сразу два вопроса.
В общем, необходимо чтобы программа, использующая BDE (таблица Paradox 7) работала с компакт-диска (только чтение) на любом компьютере, даже если BDE на нем не установлен. Проблема первая - как заставить ее работать на "голом" компьютере, где установлена, допустим, только винда? И второе, программа использует некоторые файлы, пути я прописываю относительные. В самом начале работы программы путь до исполняемого файла записывается в глобальную переменную sPath, таким макаром: Код:
При этом если я использую автозапуск с помощью autorun.inf (а исполняемый файл спрятан в папке), то путь сбивается, я так понимаю потому что GetDir возвращает путь к папке в которой лежит autorun.inf, а не экзешник. Если запускать экзешник вручную, все работает. С другой стороны, если екзешник лежит в корне компакт диска, то текстовые файлы и картинки нормально находятся, а вот файлы базы данных все равно нет! Пишет "File not found" и все, вне зависимости от того, запускаю ли я экзешник руками или через авторан =( |
13.01.2011, 17:27 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
1. Без установленного BDE программа работать не будет
2. Использовать sPath:=ExtractFilePath(ParamStr(0)) вместо GetDir(0,sPath);
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 13.01.2011 в 17:29. |
13.01.2011, 17:52 | #3 | |
Участник клуба
Регистрация: 07.07.2007
Сообщений: 1,518
|
Цитата:
И еще программы с BDE любят при sql-запросах делать временные файлы с именами типа _qsql000.db, _qsql001.db. И пихает их именно в каталог с программой. Не представляю куда она будет их писать на компакт-диске. В общем, 1. Paradox 7 - это мазохизм. 2. Paradox 7 без установленного BDE - это мазохизм в квадрате. 3. Paradox 7 без установленного BDE с компакт-диска - это мазохизм в кубе. |
|
13.01.2011, 17:54 | #4 | ||
Пользователь
Регистрация: 07.12.2009
Сообщений: 26
|
Цитата:
2. Я написал так Код:
Цитата:
По поводу 1,2,3 - согласен, пожалуй. Проблема в том что ничего другого пока не умею, а сделать надо быстро. =\ Последний раз редактировалось Haladdin; 13.01.2011 в 17:56. |
||
13.01.2011, 17:57 | #5 |
Участник клуба
Регистрация: 07.07.2007
Сообщений: 1,518
|
ParamStr(0) - это тоже самое, что Application.ExeName
|
13.01.2011, 18:03 | #6 |
Пользователь
Регистрация: 07.12.2009
Сообщений: 26
|
Ясно, спасибо.
Единственное, GetDir выдает путь без \ в конце, а ExtractFilePath с оной, может тут собака и порылась? Заметил что если адрес текстового файла или картинки записывается, например так 'C:\Temp\\note.txt' то у дельфи это вопросов почему-то не вызывает, а вот при попытке воткнуть такую штуку в Table1.DatabaseName (как относительный путь к базе) - ругается. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
После BDE | Шульц | Свободное общение | 4 | 13.10.2009 23:58 |
Редактирование BDE | kraw2 | БД в Delphi | 3 | 23.08.2009 22:09 |
Пароль в BDE | sander | БД в Delphi | 4 | 28.10.2007 11:16 |
BDE | Arsgun | БД в Delphi | 4 | 29.05.2007 22:24 |