Как узнать версию BDE?

Previous  Top  Next

    
 

 

 

Code:

uses

BDE;

 

{Without the Registry:}

 

procedure TForm1.Button1Click(Sender: TObject);

var

ThisVersion: SYSVersion;

begin

DbiGetSysVersion(ThisVersion);

ShowMessage('BORLAND DATABASE ENGINE VERSION = ' + IntToStr(ThisVersion.iVersion));

end;

 

{With the Registry:}

 

function GetBDEVersion: string;

var

h: hwnd;

ptr: Pointer;

proc: TSYSVerProc;

ver: SYSVersion;

idapi: string;

reg: TRegistry;

begin

try

   reg.RootKey := HKEY_CLASSES_ROOT;

   reg.OpenKey('CLSID\{FB99D710-18B9-11D0-A4CF-00A024C91936}\InProcServer32', False);

   idapi := reg.ReadString('');

   reg.CloseKey;

finally

   reg.Free;

end;

Result := '<BDE Bulunamadi>';

h      := LoadLibrary(PChar(idapi));

if h <> 0 then

   try

     ptr := GetProcAddress(h, 'DbiGetSysVersion');

     if ptr <> nil then

     begin

       proc := ptr;

       Proc(Ver);

       Result := IntToStr(ver.iVersion);

       Insert('.', Result, 2);

     end;

   finally

     FreeLibrary(h);

   end;

end;

 

©Drkb::02491

 

Взято с сайта http://www.swissdelphicenter.ch/en/tipsindex.php