<div dir="ltr">坂本様<br><br>安藤です<br><br>> > 2.include IDLファイルがない場合 → ダイアログにて<br>> > Warning: Included IDL $filename not found. Generated code might<br>> > be incomplete.<br>> > のように注意を促すだけにして、そのままコード生成を試みる。<br>> ><br>> > とすることは可能でしょうか?<br>> こちらのお話につきまして,1点ご確認させてください.<br>> IDLで定義しているインターフェース間に継承関係があり,<br>> 親クラスをインクルード先のヘッダファイルで定義していた場合は,<br>> どうすれば良いのでしょうか?<br><div><span style="font-size:14px"><br></span>ですので、警告ダイアログに  Generated code might be incomplete.<div>と表示して、ユーザ側に注意を促すようにしております。</div><div><br></div><div>今回の場合の問題は、#ifdef 内の #include ディレクティブは、<br></div><div><div>RTCBuilderのコード生成時には define の有無の判断がつきませんので、</div><div>もともと include する必要のないものがある場合があり、ファイルが</div><div>ない場合の処理中断を回避する方法を実装したい、ということになります。</div><div><br></div><div><br></div><div>> 親クラス側で定義されているメソッドが定義されていない形のコードが生成されました.<br></div><div>> こちらは問題ございませんでしょうか?<br><br></div><div>これは本来実装コード生成時に、親インターフェースのオペレーションが</div><div>定義されているかのチェックによってエラーを発すべき問題のように思います。</div><div><br></div><div>include ディレクティブにも一応関連する問題でもあるので、上で書きましたように、</div><div>警告をダイアログで表示して、実装定義が不完全であるかもしれない旨</div><div>ユーザに注意を促します。<br></div><div><br></div><div>結局のところ、#incldueディレクティブに関して問題があるかどうかは、</div><div>上記の理由によりユーザしか判断できないと思いますので。。。</div><div><br></div><div><br></div><div>> > ダイアログがモーダルだと、モードレスにする必要があるので 少し面倒かもしれませんが<br></div><div>> > いかがでしょうか?<br>> 上記の警告ダイアログは,「コード生成」をクリックした後に表示される,と思ったのですが,<br>> こちらで間違っておりませんでしょうか?<br>> もしも,間違いないようでしたら,通常の警告ダイアログとなりますので,<br>> 特に問題はないと思います.<br>> また,表示するダイアログについてなのですが,警告を表示するだけでよろしいでしょうか?<br>> 例えば,そのまま処理を継続するかどうかをユーザに選択して頂き,<br>> 継続が選択された場合のみ,コード生成を実行する,という事もできると思いましたため,<br>> ご確認させて頂きました.</div><div><br></div><div>継続をユーザに判断させるほうがいいですね。</div><div>そのようにお願いいたします。</div><div><br><br>> > ちなみに、コード生成時にTypedef等の宣言の完全性チェックを行って、そちらでも<br>> > エラーダイアログなどが出るようになっていましたでしょうか?<br>> 申し訳ございません.こちらは勘違いしておりました.<br>> 以前は,typedef double DoubleList; のような定義があった場合で,<br>> DoubleListを引数の型として使用していた場合,DoubleListをdoubleに変換する処理を<br>> 行っていたのですが,現状のコードで確認させて頂きました所,<br>> DoubleListの名称のままで出力されておりました.<br>> このため,typedefされた型のチェックは行っておりません.</div><div><br></div><div>説明不足で申し訳ありません。typedefは例でして、include したIDLに関連して</div><div>コード生成の振る舞いが変わる部分に対して、どのような影響があるかを</div><div>お聞きしたかった次第です。</div><div><br></div><div>上のお答えにありますように、親子関係のあるインターフェース定義に関して</div><div>子インターフェース実装定義を出力する際に、親定義の有無によりエラーを</div><div>出すか、出さないかについて現状の実装を知りたかったのです。</div><div>#ここでエラーが出れば、include ディレクティブでは、すべてにおいて</div><div>#warning で十分な気もしますので。。。でも、現状はそうではないと、、、</div><div><br></div><div><br></div><div>ということで、以下のように修正をお願いできますでしょうか?</div><div><br></div><div>1.すべての#include ディレクティブに対して、<br></div><div> include IDL ファイルがない場合、ダイアログにて</div><div> Warning: Included IDL $filename not found. Generated code might</div><div> be incomplete. Continue? Yes/No</div><div> のように注意を促して、コード生成の継続の判断をユーザに問い合わせる。</div><div> Yes:処理継続(不完全なコードになる可能性がある、が、警告済み)</div><div> No:処理中断(ユーザは、IDLを見直す)</div><div><br></div><div>2.可能ならば、インターフェース実装生成時に、親インターフェース定義が</div><div> 未定義の場合、No parent interface definition found. Please check the IDL </div><div> and included IDL files. のように警告を出す。</div><div><br></div><div>以上、お手数をおかけしますが、よろしくお願いいたします。</div><div><br></div><div><br></div><div><br></div><div>><br>> よろしくお願いいたします.<br>><br>> > 安藤です<br>> ><br>> > お世話になっております。<br>> > 河内さんからお問い合わせしております件ですが、<br>> > include されている何らかのIDLファイルに対するチェックを<br>> > 少し緩めるよう修正をお願いいたしたく存じます。<br>> ><br>> > 1.include IDLファイルがある場合 → 今まで通り<br>> > 2.include IDLファイルがない場合 → ダイアログにて<br>> > Warning: Included IDL $filename not found. Generated code might<br>> > be incomplete.<br>> > のように注意を促すだけにして、そのままコード生成を試みる。<br>> ><br>> > とすることは可能でしょうか?<br>> ><br>> > ダイアログがモーダルだと、モードレスにする必要があるので 少し面倒かもしれませんが<br>> > いかがでしょうか?<br>> ><br>> > ちなみに、コード生成時にTypedef等の宣言の完全性チェックを行って、そちらでも<br>> > エラーダイアログなどが出るようになっていましたでしょうか?<br>> ><br>> > ご面倒をおかけして申し訳ございませんが、よろしくお願いいたします。<br>> ><br>><br>> -----------<br>> 株式会社 グローバルアシスト<br>> 坂本 武志<br>> <a href="mailto:sakamoto@globalassist.co.jp">sakamoto@globalassist.co.jp</a></div></div></div></div>