Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблема с TSession [D5, Paradox]


wHammer ©   (2003-10-10 12:07:00) 

Помогите решить следующую проблему. Необходимо чтобы при начале работы программы пользователь мог выбрать информационную базу, т.е. одно клиентское приложение может работать с несколькими базами (Paradox 7). При начале работы реализую следующий код (базы находяться в списке TextListBox1):

List_ := TStringList.Create;
Alias_ := "Plan Development";
Session1.GetAliasParams(Alias_, List_);
Path_ := DataPathList.Strings[TextListBox1.ItemIndex];
List_.Strings[0] := "PATH=" + Path_;
Session1.ModifyAlias(Alias_, List_);
Session1.NetFileDir := Path_;
List_.Free;
DataPathList.Free;


А затем начинаю открывать таблицы:

DataModule1.Table1.Open;
...


Но "переключение" не происходит с первого раза, лишь после повторного, второго запуска программы. Что я не учел?

С наилучшими...
Александр.


Anatoly Podgoretsky   (2003-10-10 13:55:00) [1]

Влиасы удобны, но присязываться стоит к алиасу TDatabase, а в нем менять только путь до базы, все нужное для этого указывать, а работа без TDatabase в данном случае не очень удобна.


wHammer   (2003-10-10 13:32:00) [2]

Ну раз вы настаиваете :)

Спасибо.


Reindeer Moss Eater   (2003-10-10 13:17:00) [3]

Именно.
Скрипач не нужен.


wHammer   (2003-10-10 13:10:00) [4]

Т.е работаем вообще без алиаса...


Reindeer Moss Eater   (2003-10-10 13:09:00) [5]

Как я понял, в данном случае меняется алиас, у меня он один необходимо при начале работы приложения переопределять путь (PATH) в нем к базе.

Неправильно ты понял. Я же написал MyPath а не MyAlias.
Это путь к каталогу с БД


wHammer   (2003-10-10 13:06:00) [6]

to Reindeer Moss Eater © (10.10.03 13:02) [3]

TTable.DatabaseName:=MyPath;


Как я понял, в данном случае меняется алиас, у меня он один необходимо при начале работы приложения переопределять путь (PATH) в нем к базе.

С наилучшими...
Александр.


DenK_vrtz   (2003-10-10 13:05:00) [7]

Reindeer Moss Eater ©, каждый вибирает свой путь! :)


Reindeer Moss Eater   (2003-10-10 13:04:00) [8]

Не перстаю удивляться патологической привязанности к алиасам


DenK_vrtz   (2003-10-10 13:03:00) [9]

А просто имя алиаса сменить в свойстве DatabaseName?


Reindeer Moss Eater   (2003-10-10 13:02:00) [10]

TTable.DatabaseName:=MyPath;


wHammer   (2003-10-10 13:01:00) [11]

Дело в том, что в данном приложение связь идет не через TDatabase, а непосредственно обращаясь к таблицам (TTable), переделывать будет проблематично.

С наилучшими...
Александр.


Reindeer Moss Eater   (2003-10-10 12:13:00) [12]

Зачем так сложно?

Database1.DriverName:="STANDARD";
Session.GetDriverParams(Database1.DriverName,Database1.Params);
Database1.Params.Values["PATH"]:=MyPath;
Database1.Open;


Наверх

Титульная страница Поиск, карта сайта Написать письмо