Автор: Xavier Pacheco
Если ссылка на таблицу получена через псевдоним, получить
физический путь к ней не так просто. Для получения этого пути
необходимо использовать функцию BDE DbiGetDatabaseDesc. Данной
функции в качестве параметров передаются имя псевдонима и указатель
на структуру DBDesc. Структура DBDesc будет заполнена информацией,
относящейся к этому псевдониму. Определение структуры:
pDBDesc = ^DBDesc;
DBDesc = packed record { Описание данной базы данных }
szName : DBINAME; { Логическое имя (или псевдоним) }
szText : DBINAME; { Описательный текст }
szPhyName : DBIPATH; { Физическое имя/путь }
szDbType : DBINAME; { Тип базы данных }
end;
|
Физическое имя/путь будет содержаться в поле szPhyName структуры
DBDesc.
Возможные значения, возвращаемые функцией DBIGetDatbaseDesc: DBIERR_NONE Описание базы данных для pszName было успешно извлечено.
DBIERR_OBJNOTFOUND База данных, указанная в pszName, не была обнаружена.
Приведенный ниже пример кода показывает как можно получить
физический путь для компонента TTable, использующего псевдоним
DBDemos:
var
vDBDesc: DBDesc;
DirTable: String;
begin
Check(DbiGetDatabaseDesc(PChar(Table1.DatabaseName), @vDBDesc));
DirTable := Format('%s\%s', [vDBDesc.szPhyName, Table1.TableName]);
ShowMessage(DirTable);
end;
|
|