問題タブ [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 投票する
3 に答える
2322 参照

c++ - カスタム IDL を指定してコード ジェネレーターを作成する方法は?

基本的なブール文字列フィールドを持つ十分に単純なスキーマがある場合、C++ でコード ジェネレーターを作成する方法。を書いたことがあれば、どのように始めましたか。記事/推奨事項を歓迎します。

編集: これは標準の CORBA idl ではないことに注意してください。

0 投票する
6 に答える
46389 参照

idl - IDLとは何ですか?

IDLとはどういう意味ですか?私はそれをグーグルで検索しました、そしてそれがコンポーネントのインターフェース定義に使用されるインターフェース定義言語の略であることがわかりました。しかし、実際には、IDLの目的は何ですか?マイクロソフトはそれを使用していますか?

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

c++ - win32でidlファイルをコンパイルするときのmidlエラー2025(midlはstring <40>が好きではありません)

Linuxツールで正常にコンパイルしたidlファイルですが、midlを使用してコンパイルしようとするとエラーが発生します

行は次のとおりです。

これは非標準のidlですか、それとも何かが足りませんか?これを可能にするmidlのスイッチはありますか?

これにもっと早く賞金を設定できたらいいのに...

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

com - IDL での作成不可能なコクラスの目的は何ですか?

IDL で次のような作成不可能なコクラスを宣言する理由は何ですか?

とにかく、そのようなクラスはCOMに登録されないということです。IDL ファイルと、その IDL ファイルをコンパイルすることによって生成されるタイプ ライブラリでそれを言及する理由は何ですか?

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

c++ - IDL インターフェイスの *end* に新しいイベントを追加する必要があるのはなぜですか?

新しいイベントを既存の COM/IDL インターフェイスに追加すると、インターフェイスの最後に追加しない限り、奇妙な問題が発生することがあります。

たとえば、次のインターフェイスがあるとします。

ここで、新しいコールバック イベントを追加するとしますNewCallback。このように追加すると、イベントが COM 経由で発生したときに問題が発生しない傾向があります。

しかし、このように追加すると、イベントが発生したときにあらゆる種類の問題 (バッファー オーバーランなど) が発生する可能性があります。

DLL エントリ ポイント、アドレス オフセット、または同様のものと関係があると推測しています。または、何かを適切に再構築していないためかもしれません。最後に追加すると、運が良ければ機能します。

誰でもこの動作を説明できますか?

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

c++ - midl で各インターフェイスを個別の .h に生成する方法はありますか?

idl ファイルから生成された抽象インターフェイスを継承するオブジェクトがたくさんあります。これらのインターフェイスを使用する各オブジェクトには、同じファイル interfaces.h が含まれます。このファイルには、idl インターフェイスにマップされる C++ で生成されたすべての抽象クラスが含まれています。

何かをinterfaces.idlに変更するたびに、interfaces.hが変更されるため、これに依存するすべてのクラスを再構築する必要があります。midl に各抽象クラスを独自の .h で生成するように指示するフラグまたは何かがありますか?

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

com - コクラスの実装が ATL タイプ ライブラリで公開されないようにする方法

クラス ファクトリの型を使用して ATL タイプ ライブラリを構築しています。このようなもの:

その後、ユーザーは をINumber介し​​てインターフェイスを実装するクラスのインスタンスを取得できますNumberFactory

これはうまく機能しますが、メソッドから返される ATL オブジェクトを定義してインスタンス化する方法がわかりませんNumberFactory.GetNumber()。IDL で数値を次のように定義すると、次のようになります。

コクラスはOneユーザーがインスタンス化できます。Oneしかし、コクラスのインスタンスを取得できる唯一の方法は を呼び出すことだけに制限したいと思いますNumberFactory.GetNumber("One")

だから私の質問は次のとおりです: ユーザーが をインスタンス化Oneできないように、IDL をどのように作成する必要がありますか?OneNumberFactoryINumberOne

さらに、これを機能させるために ATL 側で何か特別なことをしなければなりませんか?

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

c# - idl で c++ com インターフェイスを介して c# から bool を渡す方法

私は単純なものが欠けていることを知っています.私はこれらのコムの経験がほとんどありません.

idlのインターフェース内でこれを行いたい

ただし、これは次のようになります。 [out] パラメータはポインタではありません。

わかりました。

ただし、これを実装する C# コードでは、安全ではないため、IsValid() メソッドから bool* を返すことはできません。

ブール値を返す正しい方法は何ですか?

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

c++ - .idl インポート インターフェイスのコクラスが別の場所で定義されていますか?

コクラスが続くいくつかのインターフェイスを定義する IDL ファイルがあります。このクラスで定義されていないインターフェイスをこのクラスにインポートさせることはできますか?