2017-05-10 5 views

答えて

0

BDEため ルック。私は最近の(Win7/Win10)バージョンのWindowsにBDEをインストールしていませんが、DLLがSysWOW64で終了した場合は驚くことはありません。

ADO:DelphiソースファイルADOInt.Pasを参照して、Delphiバージョンで使用するADO DLLの名前を識別する必要があります。それは(私はD5がインストールされていないので、D7のためである以下)、このようなセクション内のファイルの先頭に次のようになります。

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ビットバージョンが必要私の(Win10 64ビット)システムで

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

にあなたはDelphiがTHDのBDEを使用し、ADOは

DBTables.Pas、BDEあるか確認するために勉強する必要があるDelphiのソースファイルに位置しています.DLL、 .IntとSMIntf.PasはBDE、ADOInt.Pas、ADODB.PasはADOです。

BDEコードでは、TAdoConnectionと正確な対応がないため、他のqに返信して、あなたが時間を無駄にしていて、両方に使用できる接続タイプ。申し訳ありませんが、あなたがこの質問をしなければならないという事実は、あなたが "混在接続"ソリューションを考案しようとするあなたの深みから抜け出していることを示す良い兆候です。

+0

ええ、私は混合接続が不可能であることを理解しました。私が今しようとしているのは、ADO接続を使用できるように、BDE用のラッパークラスを作成することです。実現可能な解決策ですか? –

+0

「混在接続」をコード化しようとするよりも現実的ではありません。 BDEにはTAdoConnectionと同等の機能がありません。代わりにTSessionオブジェクトとBDEステートメントハンドルを使用します。 – MartynA

0

BDEのデフォルトフォルダは です。 Program Files(x86)\ Common Files \ Borland Shared \ BDE Delphi 5のインストールではフォルダを選択できるようになりましたので、別のものになる可能性があります。

古いように、BDEにいくつかの問題があります。私は、BLOBフィールドの扱いに関してバグがあると思います。

BDEが必要なレガシーアプリをお探しですか?

私はADOが良い選択だと思います。伝統的に、メインBDE DLL、Idapi32.DllはDelphiがインストール時にデフォルトで

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

にインストールされました:ユニットADODB.pasとADODb.dll

+0

はい、従来のアプリを開発しています。 BDE接続をADOに変換しようとしています。すべてのSugessions ..? –

+0

ADO DLLを識別するためにOPが必要とするユニットは、ADODB.PasではなくADOInt.Pasです。そして、ADBDb.Dllは関連するDLLではなく、** DotNetのDLLです。 – MartynA

+0

申し訳ありませんが、Delphi 5をしばらく使用していません。私はADOとBDEの両方を使用するアプリケーションを見てきましたので、一度にすべてを変換する必要はありません。これにより、BDEが問題を起こしている場所でのみADOを最初に使用することができます。 –

関連する問題