2017-05-10 112 views

回答

0

BDE:傳統上,主要的BDE DLL,Idapi32.Dll被默認安裝德爾福安裝

C:\Program Files (x86)\Common Files\Borland Shared\BDE 

。我還沒有將BDE安裝到Windows的最新(Win7/Win10)版本上,但如果DLL在SysWOW64中結束,則不會感到驚訝。

ADO:您需要查看Delphi源文件ADOInt.Pas以確定您的Delphi版本使用的ADO DLL的名稱。這將是在一節中的文件的頂部,看起來像這樣(以下是D7,因爲我沒有安裝D5都):

unit ADOInt; 

// ********************************************************************* // 
// Type Lib: C:\PROGRAM FILES\COMMON FILES\SYSTEM\ADO\MSADO15.DLL  // 
// IID\LCID: {00000200-0000-0010-8000-00AA006D2EA4}\0     // 
// PASTLWTR : 1.1          // 
// HelpString: Microsoft ActiveX Data Objects 2.1 Library    // 
// Version: 2.1              // 
// ********************************************************************* // 

順便說一句,你需要MSADO15的32位版本.DLL,這我(Win10 64位)系統上位於

C:\Program Files (x86)\Common Files\System\ado 

你需要學習,看看德爾福如何使用THD BDE和ADO是

DBTables.Pas,BDE的Delphi源文件.Int和SMIntf.Pas用於BDE,ADOInt.Pas和ADODB.Pas用於ADO。

正如你將會看到的,在BDE代碼中,沒有與TAdoConnection完全相同的東西,這就是爲什麼我告訴你回答你的其他問題,你是在浪費你的時間試圖通過提出一個連接類型可以用於兩者。很抱歉地這樣說,但事實是你不得不問這個問題,這是一個非常好的信號,表明你已經超出了你的想象力,試圖想出一個「混合連接」解決方案。

+0

是的,我明白混合連接是不可能的。我現在要做的是爲BDE編寫一個包裝類,以便它可以使用ADO連接。這是一個可行的解決方案。? –

+0

恐怕沒有比試圖編寫「混合連接」更可行的了。 BDE根本沒有TAdoConnection的功能等同物。它使用TSession對象和BDE語句處理。 – MartynA

0

我認爲BDE的默認文件夾是 C:\ Program Files(x86)\ Common Files \ Borland Shared \ BDE 從我記得的Delphi 5安裝允許您選擇文件夾,因此它可能會有所不同。

因爲這是一個老東西,你會有一些BDE的問題。我認爲它在處理blob字段方面存在缺陷。

您是否正在查看需要BDE的遺留應用程序?

我認爲ADO是一個更好的選擇。 查找單元ADODB.pas和ADODb.dll

+0

是啊我正在使用一些舊版應用程序。嘗試將BDE連接轉換爲ADO。任何Sugessions ..? –

+0

OP需要用來識別Ado DLL的單元是ADOInt.Pas,而不是ADODB.Pas。而ADBDb.Dll是**不是相關的DLL,它是DotNet的一個DLL。 – MartynA

+0

對不起,暫時還沒有用過Delphi 5。我見過使用ADO和BDE的應用程序,因此您不必一次轉換所有內容。這允許您只在BDE出現問題的地方最初使用ADO。 –

相關問題