0

私の Delphi7 アプリでは、管理者 (「Dave」) としてログインするとデータベースに接続できますが、標準ユーザーまたは制限付きユーザー (「Paris」) としてログインすると接続できません。XP Home & Vista Business Ultimate 64 で発生します。db のエイリアスを使用します。データベースは Firebird、ミドルウェアは IBO 4.7 です。

これを別のスレッドに投稿しましたが、もっと多くの情報があることを知っており、BDE が問題のようです。DB.Pas がリンクされているようです。project.map ファイルで確認できます。exe はレジストリを読み取り、BDE エイリアスを取得します。

BDE 関連のソースと dcu ファイルをすべて削除し、プロジェクトで DB コンポーネントを徹底的に検索したところ、問題なく表示されました。

行ったことある人いますか?

4

3 に答える 3

4

パッケージを使用してビルドしていないと仮定して、ディスクからdb.pasとdb.dcuを削除し(たとえば、名前をdb!.pasとdb!.dcuに変更)、再構築します。コンパイラは、dbが参照されている場所で停止する必要があります。

于 2009-05-10T07:48:41.473 に答える
3

当たり前のことですが、すべてのUSES句もチェックしましたか?

心配しなければならないのは Db.pas ではありません。私は IBO に詳しくありませんが、Db.pas (TDataSet、TDatasource) も使用していると思われます。

そこにある DbTables ユニットとコンポーネントを探す必要があります。これには、グローバルに宣言され、インスタンス化されたセッション変数が含まれています。また、TSession は BDE にリンクします。

于 2009-05-09T21:03:12.587 に答える
1

あなたの助けで解決しました。最初の gabr は、.dcus を削除することをお勧めします。私は持っていましたが、db.dcu を含むいくつかを見つけました。ころした。現在、コンパイルは、uses IB.dcu (Interbase への Borlands インターフェイス) で停止しています。それを殺して、コンパイルしました。.map で DB を grep しました - 存在しません。それでも Paris としては機能しないので、TConnection の AliasName プロパティが FireBird エイリアスではなく BDE エイリアス用であることを明らかにしたソースで Jason のコメントを見つけたので、プロパティを空白に設定しました。

Parisの下でexeを実行すると、うまくいきました!.

さて、集中力を期待して、週末にこれを家に持ち帰ったことをお伝えする必要があります。それがうまくいったとき、私はBLOODY BONZERを叫びました!私の声の一番上に-そして3匹の猫全員が飛び降りて隠れました。

"IB," - 70 万行のコードで 3 文字!

誰かがこの幽霊に悩まされている場合は、IB を grep してください!

みんなありがとう(ギャル?)-どうすればあなたに最高の答えを与えることができますか?

ありがとう、デイブ。

于 2009-05-11T01:23:37.363 に答える