素晴らしいソフトを開発して頂きありがとうございます。
PCOTを使い始めたばかりですが、当方の環境でエラーが発生するためご確認頂けますと幸いです。
<エラー発生時の状況>
フリー選択にて1回目の翻訳は成功するが、2回目の翻訳がエラーとなる。
**** 例外テキスト ****
System.Runtime.InteropServices.ExternalException (0x800401D0): 要求されたクリップボード操作に成功しませんでした。
場所 System.Windows.Forms.Clipboard.ThrowIfFailed(Int32 hr)
場所 System.Windows.Forms.Clipboard.SetDataObject(Object data, Boolean copy, Int32 retryTimes, Int32 retryDelay)
場所 System.Windows.Forms.Clipboard.SetText(String text, TextDataFormat format)
場所 System.Windows.Forms.Clipboard.SetText(String text)
場所 PCOT.frmShowTranslatedText.d202.MoveNext()
--- 直前に例外がスローされた場所からのスタック トレースの終わり ---
場所 System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c.b6_0(Object state)
<当方の設定等>
・PCOTバージョン 1.7.7
・OS:windows11Pro 24H2
・VC_redist.x86.exe は最新をインストール
・Windowsのクリップボードの履歴はオフに設定
・使用OCRエンジンは「Windows10 OCR」、「Tesseract OCR」どちらでもエラーとなる。
・翻訳エンジンを「Google翻訳」、「DeepL」、「みんなの自動翻訳連携」のどれに変更してもエラーとなる。
・翻訳エンジンを「Google翻訳」、「DeepL」とした場合はエラーダイアログの[続行]ボタンを押すとそのまま使える。
・翻訳エンジンを「みんなの自動翻訳連携」とした場合は[フリー選択]ボタンを押しても範囲選択できる状態にならない。
この場合はPCOTの再起動が必要
現在は翻訳エンジンを「Google翻訳」にして、エラー発生時は[続行]ボタンを都度押して使っている状況です。
よろしくお願いいたします。
PCOTをご利用いただき、ありがとうございます。
不具合報告と詳しいエラー状況を教えて頂き、感謝いたします。
みんなの自動翻訳を利用しているときだけ、続行を押しても利用できない理由は分かりませんが、スタックトレースを拝見した感じ、クリップボードに文字をセットしている過程でなんらかの例外が発生しているようです。
調べてみたところ、こんな記事が出てきました。
PowershellやC#からクリップボード転送時にExternalExceptionが頻発する原因と対策
これの回答に、「他の誰かがクリップボードを開いているとき」とあるので、PCOTと一緒に起動している何かしらのアプリと、クリップボード操作で競合している可能性があります。
もし心当たりがある場合は、心当たりのあるアプリの利用を中止して、PCOTとの併用を避けて頂けるとエラーの発生を抑制できる可能性があります。
また、その場合はエラーの再現を行いたいので、差し支えなければ併用しているアプリの名前を教えて頂けると、エラーの修正に役立ちます。
以上、あまりお役に立てず恐縮ですが、ご確認の程よろしくお願いいたします。
早々にご回答頂きありがとうございます。
システムトレイに常駐しているアプリを一つずつ落として確認したところ、問題のアプリを特定することが出来ました。
G-Ignition(Ver3.0.2)
https://www.eizo.co.jp/support/db/products/model/G-Ignition / G-Ignition Mobile
EIZO製モニターのユーティリティツールになります。クリップボードを使っているとは思いもしませんでした。
このツールを終了した状態では今のところ全くエラーは発生しておりません。
PCOTを使う際はこのツールを終了する運用にしたいと思います。
貴重なアドバイスありがとうございました。感謝いたします。
ご報告ありがとうございます!
エラーの発生原因を特定できたようで何よりです。
また、競合しているアプリをご教示頂き、感謝いたします。
場当たり的な対応になりますが、次の更新でPCOTでクリップボードを操作する処理全般を修正したいと思います。
それまではご不便をおかけしますが、ご返信頂いた運用をお願いいたします。