Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.09.10;
Скачать: [xml.tar.bz2];

Вниз

Alias   Найти похожие ветки 

 
ronyn   (2006-08-15 11:03) [0]

Создав программу, использующую БД, я копирую её на комп пользователя вместе с этими БД - как быть с псевдонимами, не придется ли в этом случае копировать(изменять) файл IDAPI32.cfg?
                                     Заранее благодарен.


 
fast2   (2006-08-15 11:48) [1]

что за БД?


 
Alarm ©   (2006-08-15 11:52) [2]

> ronyn   (15.08.06 11:03)  
Желательно, чтобы программа проверяла наличие этого псевдонима (Alias), и в случае отсутствия, создавать его программно


 
Elen ©   (2006-08-15 12:01) [3]


> как быть с псевдонимами,

Не используй псевдонимы. У меня были кучи проблем с переносимостью настроек BDE. В результате я в TTable прописываю полный путь к базам, который основан на пути где программа и проблемы исчезли


 
ronyn   (2006-08-16 23:08) [4]

Тогда не понятно, в чем же смысл "чудо изобретения - псевдонима", если использовать его можно практически, только локально. Тогда и в самом деле проще статик пач прописать и все. Значит буду делать так-)


 
Германн ©   (2006-08-17 00:35) [5]


> ronyn   (16.08.06 23:08) [4]
>
> Тогда не понятно, в чем же смысл "чудо изобретения - псевдонима"
>

Станет понятно в последущем.


 
Elen ©   (2006-08-17 07:48) [6]


> статик пач

Не статик, а получаемый при запуске из Application.ExeName. Иначе прога будет непереносима. Алиасы были впервые использованны в FoxPro (кажись), а там это необходимая и удобная вещь, но они там не такие как в BDE, более гибкие.


 
AbrosimovA ©   (2006-08-17 10:44) [7]

Program Book;

uses
 Forms,
 Windows,
 Registry,
 SysUtils,
 Messages,
 Classes,
 DBTables,
 Splash in "Splash.pas" {SplashForm},
 Module in "Module.pas" {DataModule1: TDataModule},
 Data in "Data.pas" {MainForm},
 Login in "Login.pas" {PasswordDlg},
 Change in "Change.pas" {PasswordDlg1},
 About in "About.pas" {AboutBox};

{$R *.RES}

var Error: boolean;
   Index: integer;
   L : TStringList;
Label Quit;

begin
Application.Initialize;
Application.Title:="Список работников цеха";

with TRegistry.create do begin
 Rootkey := HKEY_LOCAL_MACHINE;
 if not (OpenKey("SOFTWARE\BORLAND\DATABASE ENGINE", false)) then begin
  MessageBox(0,PChar("Не установлена BDE на этот компьютер."),
     PChar(Title), mb_OK);
  goto Quit;
 end else begin
  CFGFile := ReadString("CONFIGFILE01");
  Free;
  Application.CreateForm(TDataModule1, DataModule1);
end;
DataModule1.Session1.ConfigMode := cmPersistent;
L := TStringList.Create;
DataModule1.Session1.GetAliasNames(L);
for Index := 0 to L.Count - 1 do
 if L.Strings[Index]="MyBase" then begin
  DataModule1.Session1.DeleteAlias("MyBase");
  Break;
 end;
L.Add("DEFAULT DRIVER=DBASE");
L.Add("PATH="+ExtractFilePath(Application.Exename)+"Data");
DataModule1.Session1.AddAlias("MyBase", "STANDARD", L);
DataModule1.Session1.SaveConfigFile;
Error:=false;
try
 DataModule1.Session1.Active:=true;
except
 MessageBox(0,PChar("Ошибка настройки базы данных MyBase(DBase) !!!"),
   PChar(Title), mb_OK);
 Error:=true;
end;
L.Free;
if Error then goto Quit;
try
 DataModule1.Cust.Active:=true;
except
 MessageBox(0,PChar("Отсутствуют файлы базы данных !!!"),
   PChar(Title), mb_OK);
 Error:=true;
end;

if Error then goto Quit;
try
 SplashForm := TSplashForm.Create(Application);
 SplashForm.Show;
 SplashForm.Update;
 SplashForm.Hide;
finally
 SplashForm.Free;
end;
Application.CreateForm(TMainForm, MainForm);
Application.CreateForm(TPasswordDlg, PasswordDlg);
Application.CreateForm(TPasswordDlg1, PasswordDlg1);
Application.Run;
Quit:
end;


 
Плохиш ©   (2006-08-17 11:01) [8]


> ronyn   (16.08.06 23:08) [4]
> Тогда не понятно, в чем же смысл "чудо изобретения - псевдонима"

Псевдонимы преднозначены для того, чтобы отвязать программу от физического расположения файлов БД.  Если кто-то решает использовать их через пятую точку опоры, то псевдонимы-то тут в чём виноваты?


 
Desdechado ©   (2006-08-17 11:35) [9]

автор, ты каждый день будешь заново эту тему создавать?
http://delphimaster.net/view/2-1155627240/


 
MsGuns ©   (2006-08-17 11:43) [10]

>Elen ©   (15.08.06 12:01) [3]
>В результате я в TTable прописываю полный путь к базам, который основан на пути где программа и проблемы исчезли

Так делать не совсем правильно. При работе с БДЕ лучше все же использовать централизацию обмена с БД через TDataBase

>AbrosimovA ©   (17.08.06 10:44) [7]

Длинно, громоздко, запутанно. А главное, ничего не решает и в общем-то на фиг не нужно.

РЕБЯТА, РАБОТАЮЩИЕ С БДЕ !!! Рекомендуется к внимательному прочтению хелп по TSession. Там, в частности, есть и про алиасы. А, главное, много чего написано для понимания принципов работы движка.


 
ronyn   (2006-08-18 01:05) [11]

DatabaseName:=extractfilepath(Application.ExeName)+"Bases\dbMain.db"
Так правильно указать статик патч?
>Elen[6] в данном случае это без разницы написать C:\Program Files\xyz\... или ExtractFilePath(Application... - не имеет значения, ведь реч совсем о другом



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.09.10;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.047 c
1-1154084224
Mouserx
2006-07-28 14:57
2006.09.10
Проблема с получением правильного числа при конвертации.


3-1152171333
Maverick
2006-07-06 11:35
2006.09.10
TADOQuery+output параметры


9-1134888099
CrZarkon*
2005-12-18 09:41
2006.09.10
Milkshape


15-1155811350
Layner
2006-08-17 14:42
2006.09.10
Сок, который в коробках продается по 0,2/0,5/1...


2-1156249993
AlexanderMS
2006-08-22 16:33
2006.09.10
Поддержка плагинов.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский