Ku podivu Idapi.cfg pre BDE nie je zivotne dvolezity.
Prave tu sa nachadza ten nestastny NET DIR a tu je aj standardne nastavena cesta na c:\
Z toho vyplyva, ze ak teneto subor nezahrniem do akt. adresara, zbavim sa tak problemov s
PDOXUSRS.NET
Bdeadmin.exe - tiez nevyzaduje, ide vlastne len o utilitku, ktora spravuje aliasy.
Ja nikdy nevytvaram aliasy cez Bdeadmin, ale vzdy programovo t.j. napr.
try
Query1.DatabaseName:=ExtractFilePath(Application.Exename); // cesta k tabulke (alias)
Query1.SQL.Strings[0]:='select * from producers.db';
Query1.Open;
except
// tu pouzivam dalsi trik
// aplikacia si zisti ci je BDE uz nainstalovane. Moze sa totiz stat, ze
// ked pomocou installshield instalujeme BDE, uz moze byt nainstalovane, jednoducho
// nejaka ina aplikacia si uz pred nami mohla nainstalovat svoje BDE trebars starsej verzie
if GetModuleHandle('idapi32.dll')=0 then // ak nie je ziadne BDE nainstalovane
Renamefile('idapi32x.dll','idapi32.dll'); // tak premenujem idapi32x.dll na idapi32.dll a pouzi sa "moje" BDE v akt. adresari aplikacie
end;
Dost dlho som tieto veci testoval a mozem prehlasit, ze to solahlivo pracuje. (zatial? :) )
Funguje to aj v pripade, ze viacero instancii jednej aplikacie prisupuje k rovnakej tabulke.
Nenastali ziadne problemy so "Shared data locked".
Tento pripad ma este jednu velku vyhodu. Mas istotu, ze sa nebudu "bit" verzie BDE
Chosko