星期三, 5月 19, 2010

檢查MDAC2.8是否有安裝

dpr下寫

if not CheckMDACVersionOK( _MDAC_V26 ) then
begin
OneBtnMsgBox(LoginLangInfo.g_saMsg[160], MB_ICONINFORMATION);// 資料庫存取發生錯誤!//請先安裝 MDAC 2.8 或以上版本。
exit;
end;


呼叫到的funcion

uses registry;

const
_MDAC_V26 = '2.6'; //MDAC 2.6 SQL Server 所需

//----------------------------------------------------------------------------//
// CheckMDACVersionOK 檢查MDAC版本是否夠新 //
// 支援postgreSql後改為外部傳參數決定版本 by FBI 2005-1108 //
// 參數: //
// (1) sVer : 檢查版號 //
//----------------------------------------------------------------------------//
function CheckMDACVersionOK(sVer : String):boolean;
var
Reg :TRegistry;
sVersion:string;

begin
Result:=false;
Reg:=TRegistry.Create;
try
Reg.RootKey:=HKEY_LOCAL_MACHINE;
if not Reg.OpenKeyReadOnly('\SOFTWARE\Microsoft\DataAccess') then exit;
sVersion:=Reg.ReadString('FullInstallVer');
if sVersion='' then exit; //讀不到 Key,代表沒安裝MDAC
finally
Reg.Free;
end;
//檢查版本: MS 官方文件限制在 MDAC 2.6 以上。
try
//sVersion:=Copy(sVersion,1,3);
if sVersion < sVer then exit;
except
exit;
end;
Result:=true;
end;