掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
BDEのTQueryのOpen時のエラーについて (ID:47646)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
通りすがり さん、書込みありがとうございます。 とりあえず、以下に回答させて頂きます。 >BDEは最新(5.2)ですか? BDEのバージョンは、5.2です。(Delphi2007インストール時のまま) BDE AdministratorのBDEバージョン情報を確認し、IDPDX32.DLLのバージョン番号は5.2.0.2(N/A)と表示されます。 >エラーが発生するのはOpenですか?Closeですか? エラー発生状況は、Open時です。(デバッカで確認済み) >Handling the "Capability not supported" error http://edn.embarcadero.com/article/25183 は参考になりませんか? これが一番怪しいと思い試していました。 BDE Administrator で環境設定-System-INIT-SQLQRYMODEをLOCALに設定して試していますが、効果は無しです。 >Pseudo-random tech thoughts: BDE and Windows 7, 32 and 64 bits http://alexandrecmachado.blogspot.jp/2012/01/bde-and-windows-7-32-and-64-bits.html はどうですか? これは、知りませんでした。インストールが伴うため、試した方が良いか判断できませんので、まだ、未確認です。 >例外を送出しているのはDB.pasのDatabaseError関数ですが、例外発生時の呼び出し履歴でDatabaseErrorを呼び出しているのはどのような処理経路ですか? 以下のURLの内容を参考に対応しました。(Delphi Tips - EDBEngineError 例外の処理 ) http://support.embarcadero.com/jp/article/35954 コードを抜き出すと以下のとおりです。 if Query1.Active = True then begin Query1.Close; if Query1.Active = False then begin try Query1.Open; except on E: EDBEngineError do ShowError(E); end; end; end; procedure TForm1.ShowError(AExc: EDBEngineError); var i: Integer; begin Memo1.Lines.Clear; Memo1.Lines.Add('エラーの数: ' + IntToStr(AExc.ErrorCount)); Memo1.Lines.Add(''); { Errors 配列プロパティを順にたどる } for i := 0 to AExc.ErrorCount - 1 do begin Memo1.Lines.Add('メッセージ: ' + AExc.Errors[i].Message); Memo1.Lines.Add(' カテゴリ: ' + IntToStr(AExc.Errors[i].Category)); Memo1.Lines.Add(' エラーコード: ' + IntToStr(AExc.Errors[i].ErrorCode)); Memo1.Lines.Add(' サブコード: ' + IntToStr(AExc.Errors[i].SubCode)); Memo1.Lines.Add(' サーバーエラーコード: ' + IntToStr(AExc.Errors[i].NativeError)); Memo1.Lines.Add(''); end; end; 私自身は、BDE Administratorの設定やTQueryのプロパティの設定で何とかなると試しているところです。 お問い合わせについて、そのままの回答になりますが、以上の状況です。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.