TQueryのエラーを出さないようにするには?

解決


ふろんてぃあ  2011-07-03 18:39:18  No: 40735  IP: 192.*.*.*

いつもお世話になっております。
Delphi2010+WindowsXP SP3+DBはAS400のDB2/400を使用しております。
ドライバはIDCO400(ミガロ様のDelphi/400のドライバ??)を使用しております。

dbCtrlGridにて複数行(5行くらい)データを入力し、行の移動を激しく行うと
「EDBEngineError(メッセージ'レコードはこのセッションですでにロックされています.')」
というエラーが発生してしまいます。
エラーの発生箇所はTQueryオブジェクトのEditメソッドを実行する部分で
起きていました。
DB2/400の方ではトランザクションを使用しておらず、またパラメータでも
MULTISESSION=FALSEにしております。

このエラーが発生してしまいますと、データの変更が出来なくなってしまうので
どうにか解消をしたいのですが、何が原因なのかが分かりません。。。
もし、原因が分かりそうな箇所を知っている方がいらっしゃいましたら
教えて頂けませんでしょうか。

以上、宜しくお願いいたします。

編集 削除
ふろんてぃあ  2011-07-06 08:56:43  No: 40736  IP: 192.*.*.*

自己解決しました。

下記のリンクに似たような現象の回避策が載っていました。

http://leed.issp.u-tokyo.ac.jp/~takeuchi/delphi/browse.cgi?index=040941

結論から言いますと、イベントの問題らしいです。
まだ、修正をして動作確認はおこなっていませんが解決とさせて頂きます。

編集 削除