2009-05-09 15 views
0

私のDelphi7アプリケーションでは、管理者( "Dave")としてログインしたときにデータベースに接続できますが、標準ユーザーまたは限定ユーザー( "パリ")としてログインした場合は接続できません。 XPホームで起こる& Vista Business Ultimate 64。私はdbのエイリアスを使用します。データベースはFirebird、ミドルウェアはIBO 4.7です。BDEのゴーストを殺す

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

すべてのBDE関連ソースを削除しました& dcuファイル、私は完全にDBコンポーネント&のプロジェクトを検索しました。

誰かそこにいましたか?

+3

DB.pasはBDEではありません。 BDEはdbtables.pasでリンクされています。 –

答えて

3

明らかに言及するだけで、すべてのUSES句もチェックしましたか?

私はIBOに慣れていないのですが、Db.pas(TDataSet、TDatasource)も使用していると思います。

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

+0

確かに。 ADOコンポーネントを使用しますが、DB.Pasを追加するだけでなく、TDataSetもそこに定義されています。これはBDEの一部ではありませんが(BDEで使用されています) –

4

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

+1

コンパイルにはCommandLineを使用する必要があるかもしれませんが、デザイナーはDb.pasに依存することもあります。 –

+0

Designerはパッケージにコンパイルされており、コンパイルには影響しません。 – gabr

1

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

パリの下でexeを実行してください&!

今、私は週末にこの家を持ってきたと伝える必要があります。それがうまくいったら、私は血統のボンサーを叫んだ!私の声の先頭に - &すべての3匹の猫は&を隠しています。

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

だから、誰かがこの幽霊に夢中なら、IBのためのgrep!

ありがとうございます(ガルスですか?) - 私はどのように最善の答えをあなたに与えますか?

ありがとう、Dave。

+1

ベストを尽くした回答を選択し、[同意する]ボタンをクリックしてください。それは、「答えられた」質問と未回答の質問をふるい分けることによって役立ちます。 –