VMarch |
Отправлено: 17.12.2003, 13:46 |
|
Не зарегистрирован
|
Здравствуйте, Уважаемые Гуру !
Задача такая: определить текущий LANGDRIVER для DBASE, если он
"LANGDRIVER=dBASE RUS cp866", то поменять его на время выполнения программы на ансишный, потом "вернуть взад..."
Код следующий:
/****************************************************/
/*Сhecked LANGDRIVER==dBASE RUS cp866*/
/*...*/
TStringList *MyStringList = new TStringList;
MyStringList->Clear();
MyStringList->Add("LANGDRIVER='ascii' ANSI");
Session->ModifyDriver("DBASE", MyStringList);
Session->SaveConfigFile();
Session->Close();
Session->Close();
/*****************************************************/
Фиг отрабатывает, зараза. Думаю ,ладно, типа "All BDE Applications must be restart", выгоняю код в другую прогу (дабы меняла лангдрайвер, и выключалась). Эффект тот же.
При этом в БДЕ Админе корректно отображаются изменения. НО вступают в силу ТОЛЬКО когда ручками поменяшь, потом обратно и нажмёшь "Apply"...
|
|
|