1

次のように、インストール プログラムから次のコマンド ラインを実行して、BDE エンジンをインストールしようとしています。

ShellExecute(0, nil, 'regsvr32.exe', 'BdeInst.dll', nil, SW_SHOW);

特定の場所に BDE エンジンをインストールする許可を求めるメッセージが表示されます。OK ボタンをクリックすると、次のような別のメッセージが表示されます。

ここに画像の説明を入力

ハードドライブに十分な空き容量があることを確認しました。[はい] ボタンをクリックすると、BDE エンジンが正常にインストールされます。

どうしてか分かりません。さらに、これに関するオンライン情報はあまりありません。

どんな入力でも大歓迎です。

4

3 に答える 3

2

まず第一に、BDE は推奨されていないため、他のバージョンの Delphi であっても使用しない方がよいでしょう。

BDE を使用せずに DB に直接接続できるサードパーティ コンポーネントがあります。たとえば、 DevArtSQLDirectDASoft (その FreeDAC は無料)、およびZeosSynDB オープン ソース ライブラリなどの他の多くのコンポーネントを参照してください。

よく知られている「2GB の丸め誤差」に達しました。BDE インストーラーはこれに悩まされますが、BDE を使用するアプリケーションも同様です。

BDE インストーラーにはバグがあります。

新しいバージョンの Windows では機能しません。

Windows 7 の interbase や BDE、 Embarcaderoの時代の Bde インストーラーなど、他のインストーラーがあります。

アプリケーションで使用される BDE は、不適切な使用に関連して、同じ 2GB の制限GetDiskFreeSpaceを受けます。

Embarcadero CodeCentralには、アプリケーション コードに含める価値のある回避策があります。

于 2012-06-24T15:41:52.243 に答える
2

BDE は、数年前から廃止されている古いソフトウェアです。人々はまだそれを実行していますが、もともとは 16 ビット ソフトウェアであり、変更されていない可能性があると思います。大容量ハード ドライブを認識できないソフトウェアからメッセージが送信されているように感じます。BDEInst.dll が Borland の BDE インストーラーかどうかは覚えていませんが、メッセージはそこから来ている可能性があります。「インストールプログラムは開発中です...」とも言及しています。

XPにインストールする必要があり、最初にXPで動作させます。Win 7 および 8 では、さらに多くの問題が発生します。ただし、可能であれば、この時点で BDE をインストールするかどうかを再検討してください。

于 2012-06-23T14:54:42.160 に答える
1

bdeinst.dll は Win32 API 関数を使用しますGetDiskFreeSpace。これは、2GB を超えるドライブに対して実行すると、完全に誤解を招く値を報告する可能性があります。開発者ベースの回避策については、http://support.microsoft.com/kb/202455を参照してください。

私がこれを知っている理由は、以前にこれに見舞われ、それが使用していることを示す bdeinst.dll バイナリのインポートを調べたからですGetDiskFreeSpaceA(これは関数の ascii バージョンです)。

BDE を使用する必要がある場合は、アプリをインストールしようとしたときにこのエラーが表示される可能性があることを受け入れる必要があります。

于 2012-06-24T11:23:46.600 に答える