複数PCでDelphiで作成したソフトを起動した場合、
サーバーにあるデータベースの関係で、
「他の.NETファイルがこのディレクトリをコントロールしています」というエラーが出てきました。
AliasのパスをTSessionを使用し取得しているのが原因だったので、(その処理を外したところエラーが出なかった)
TSessionの代わりに、↓を利用してパスを取得したのはいいのですが・・
Check(DbiGetDatabaseDesc(PChar('データベース名'), @vDBDesc));
strAliasPath := Format('%s\', [vDBDesc.szPhyName]);
上記のコードを加え、実行した後、
「他の.NETファイルがこのディレクトリをコントロールしています」というエラーが他のPCが同時起動していないのに起こり、上記のコードを外してもエラーが出て困っています・・
この状態から脱したいのですが・・分かる方ご教授お願いいたします。
おそらく[BDE]タブのデータベース関係のコンポーネントを使用されていると
思います.DelphiのバージョンもWindowsのバージョンも不明なので
確かな事は言えませんが,
http://leed.issp.u-tokyo.ac.jp/~takeuchi/delphi/search.cgi?screen=1
ここで検索文字列に
ディレクトリ コントロール BDE
と入力して検索して見て下さい.参考になるかも知れません.
BDEを使ってParadoxファイルを共有する場合(と勝手考え)
PDOXUSRS.NETファイルのパスを全クライアントで統一する必要があります。
そうしないとレコード排他処理ができません。
PDOXUSRS.NETのパスはBDEAdministratorのParadox->NETDIRをサーバの共有フォルダにします。
Paradoxデータベースでなければ、こめんなさいです。
自己解決いたしました。
DBフォルダの中にロックファイル?が何かのエラー時に作られていたようで、私もよく分からず「あれこんなファイルあったかな」と思って消去したところ、起動してみるとエラーがでなくなりました。
ちなみに拡張子が確かlckみたいな感じのでした;すみませんきちんと見ずに消去してしまいました;
Mr.XRAYさん>
環境をお教えするのを忘れていました;大変申し訳ありません。
windowsXPでdelphi3です。
大変、参考になるサイトを教えていただきありがとうございます。
私のほしかった情報が載っていませんでしたが、他に活用させていただきます!ありがとうございました。
かずさん>
BDEを使ってParadoxファイルを共有する場合であっていました;
大変申し訳ありません;
情報ありがとうございます。無事全クライアントで統一することが出来ました。まったくの素人に近いのでありがたいです(涙)
ツイート | ![]() |