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;
|