Umíme to s Delphi: 88. díl – BDE: co se souborem PDOXUSRS.NET?

Diskuze čtenářů k článku

Chosko  |  26. 05. 2003 13:32

Ahoj

Pouzivam BDE uz pomerne dlho. BDE ako samotny engine sa vlastne sklada z dll kniznic + *.toc; *.cvb; *.btl apod.

Ja som to vyresil tak, ze som si zistil, ktore zo suborov enginu su potrebne nato aby bezalo DBE (pouzivam vzdy QUERY komp.),

a tieto subory jednoducho skopirujem do adresara kde mam EXE a tabulky.  System totiz prislusne kniznice hlada ako prve

v aktualnom adresari t.j odkial spustime apliakciu , potom v system32 a nakonie v C:\Program Files\Common Files\Borland Shared\BDE.

Odpada mi tak problem s PDPROXUS.NET a instalaciou celoho BDE, ktore zabera okolo 17 MB. Takto to ma len 1.8 MB

Postup som skusal aj po sieti a vsetko sa javilo OK.

Staci teda ak si skopirujete tieto subory z BDE do aktual. adresara. (tyka sa to iba QUERY, ked pouzijeme table alebo sesion tak moze pytat este dalsei subory):

Testoval som metodou pokus - omyl.

A tu su tie subory z BDE:

Bantam.dll

ceeurope.btl

charset.cvb

idapi32.dll

idbat32.dll

idpdx32.dll

idr20009.dll

idsql32.dll

 

 

Souhlasím  |  Nesouhlasím  |  Odpovědět
Cloud  |  27. 05. 2003 20:14

Neskusal som to sice, ale len tak na prvy pohlad mi tam chyba idapi32.cfg a bdeadmin.exe. Inak myslienka je to vyborna.

Souhlasím  |  Nesouhlasím  |  Odpovědět
Chosko  |  28. 05. 2003 06:56

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

Souhlasím  |  Nesouhlasím  |  Odpovědět
Zasílat názory e-mailem: Zasílat názory Můj názor