問題タブ [idl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
555 参照

c# - INT_PTR を使用した IDL 宣言の C# 実装

次のように、idl ファイルで宣言されたメソッドがあります。

このメソッドを使用して、C# で実装します。

32 ビットをビルドするときは問題なく動作しますが、x64 をビルドすると、idl が 64 ビット値を探し、c# が 32 ビット値を期待するため、型が一致しません。

C# ではコードに long または int が必要なため、C# で IntPtr を使用しても機能しません。

プラットフォームに応じて long または int にコンパイルされる c# メソッドで使用できる型はありますか?

関数を 2 回使用してコードを複製する必要はなく、下位互換性のために IDL を変更して Int64 のみを使用できるかどうかはわかりません。

どんな助けでも大歓迎です。ありがとう

0 投票する
1 に答える
310 参照

corba - Rhapsody で生成された IDL ファイルと CORBA 3.1 の間で完全な準拠を得ることは可能ですか?

Rhapsody 7.1.1 から生成された IDL ファイルを TAO IDL Compiler の最新バージョン (リリース済みパッケージ バージョン 6.0.2) でコンパイルしようとしましたが、CORBA 3.1 では匿名型が非推奨になっているため、いくつかのエラーが発生します。

この種のエラーは、TAO IDL Compiler の「-as」オプションを使用して抑制することができます。しかし、メンテナンス上の理由から、準拠した IDL ファイルを生成したいと考えています。

また、インターフェイス転送に関連する TAO IDL Compiler から他のエラーが発生します。この生成された IDL ファイルは、TAO バージョン 5.7.9 (1.7.9) まで正しくコンパイルされます。

編集:

インターフェイス転送の主な問題は、既に定義されているインターフェイスの転送により、そのようなインターフェイスの内容が隠されることです。

例:

A.idl

B.idl

A の forward を削除しても問題ありませんが、Rhapsody でこのように IDL ファイルが生成されているため削除できません。

0 投票する
2 に答える
167 参照

mercurial - Mercurial:.idlから生成された.hを無視します

Mercurialで.hgignoreを使用して、idlファイルから生成されたヘッダーファイルを無視することは可能ですか?

VS2008には非常に大きなプロジェクトがあり、デフォルトでは、midlツールは同じフォルダー内の同じ名前の.idlファイルから.hファイルを生成します。当然、生成されたファイルを制御したくありません。同じフォルダにxxx.idlファイルがある場合、xxx.hファイルを無視するようにMercurialを設定することは可能ですか?

私の問題に対する他の解決策はありますか?これらの約100のプロジェクトのファイルの名前を変更するには時間がかかり、実際には検討したいオプションではありません...

0 投票する
1 に答える
381 参照

c++ - MPC の使用時に消去される出力ディレクトリとファイルを制御するにはどうすればよいですか?

MPC (Make Project Creator) を使用して実際のメイク ファイルを生成する OpenDDS (および ACE/TAO) を試していますが、いくつかの非常に面倒なことを行っています。

まず、多数の中間ソース ファイル (一部の IDL、および c++ ヘッダー/実装) を生成し、それらを手動で作成された IDL および C++ ファイルと同じディレクトリに配置します。手動で作成されたファイルと生成されたファイルを別々のディレクトリに置きたいのですが、生成されたファイルはすべて邪魔になるからです。これを行う方法はありますか?

次に、「make clean」を実行すると、生成されたオブジェクト ファイルはクリーンアップされますが、生成されたソース ファイルはクリーンアップされません。生成されたすべてのファイルをきれいにする方法はありますか?

0 投票する
1 に答える
915 参照

idl - インターフェイス定義言語

インターフェイス定義言語の意味を高レベルで説明できる人はいますか。なぜ、どのように、どこで使われるのか。電子ブック、具体的な定義と例も役立ちます。

これを使用した/使用したことがある人は、知識を共有してください。グーグルリソースはありません。

前もって感謝します。

よろしく、 ガウラフ

0 投票する
1 に答える
329 参照

backwards-compatibility - IDL/ODL の下位互換性

Microsoft によって定義された IDL のどこで読めるか誰にもわかりません。インターフェイスに新しいメンバーを追加して IDL ファイルを変更することについて知る必要があります。下位互換性を維持することについて、いくつかの混乱があります。

VS6 (ActiveX プログラミング) でプログラミングしています。

前もって感謝します。

だって

0 投票する
4 に答える
2022 参照

com - Vistaでタイプライブラリの登録を解除します

ライブラリのバージョンを上げてIDLファイルを間違えました。その後、バージョンを元に戻します。VB6はまだ次のように書いているので、私はライブラリを操作できません。「ライブラリの新しいバージョンがあります*バージョン3.0にアップグレードしますか?」...

OLE / COMオブジェクトビューアで、ライブラリのいくつかのバージョンが登録されているのを見ました。これらのタイプライブラリの登録を解除する方法はありますか?コンピュータからDLLファイルとTLBファイルを消去し、Windowsレジスタからすべてのキーを消去しようとしています...しかし、「VisualBasic6」と「OLE/COMオブジェクトビューア」にはまだ情報があります。

どうも

0 投票する
1 に答える
285 参照

c# - IDL ファイル内のインターフェイス宣言の場所

COM / MFC で広範囲に記述された (非常に) 古い (そしてかなり大きい) プログラムを WPF / マネージ .NET コンポーネントを使用するようにアップグレードするプロジェクトに取り組んでおり、その一部は IDL で宣言された古い COM インターフェイスを移植しようとしています。マネージ C# インターフェイスに。「ライブラリ」ブロックの内側と外側で宣言されたインターフェースの違いは何ですか?

0 投票する
1 に答える
1383 参照

c++ - MIDL で C スタイルのヘッダー生成をオフにする方法はありますか?

IUnknown ベースのインターフェイスを記述する単純な .IDL ファイル (iface.idl) があります。

コンパイルしようとするとmidl /header iface.h iface.idl、iface.h、iface_i.c、および iface_p.c の 3 つのファイルが生成されます。iface.h ファイルには、ISunpathCalc インターフェイスの C++ 宣言が含まれています。

このファイルの残りの大部分には、不要な C の内容が含まれています。

Q:ヘッダーの C++ 部分のみを生成するように MIDL に指示する方法はありますか? iface_i.c および iface_p.c ファイルの生成をオフにして、代わりに MIDL に強制的に C++ 定義を生成させることはできますか?

UPD1:

ここで指定されている [local] 属性を追加しようとしました:

しかし、何の成功もありません。