問題タブ [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.
java - CORBA + IDL + Java: サーバントの作成に助けが必要
次のような定義済みのidlファイルがあります。
私はidljでコンパイルします。クライアントがサーバーと通信するために使用する BankServant を定義しました。ほぼすべてのメソッドが実装された作業プログラムがあります。account(in AccountId accNr)
私の唯一の問題は、適切な Account オブジェクトを返すメソッドを実装する方法がわからないことです。私は CORBA を知らず、友人を助けているだけなので、そのような状況に対処するためのシンプルでありながら実用的なクラス レイアウトをハックするのに役立つ、何らかの解決策/例/チュートリアルを求めたいと思います。
前もって感謝します。
syntax - ANTLR IDL 文法
ANTLR を使用して、非常に単純な IDL スタイルの文法を作成しようとしています。これが私がこれまでに持っているものです。
ただし、「data_type」でデバッガーを実行すると、これは機能しないようです。「attribute_list」に到達すると停止します。「attribute_list」を「attribute」だけに変更しても問題ありませんが、明らかに、1 つだけでなく 1 つ以上の属性が必要です。
ありがとう
c++ - MICO (CORBA) を使用して IDL ファイルから C++ クラスを生成する
のコンテキストで使用して、ファイルC++
からクラスを生成したいと考えています。ダウンロードしたのですが、使い方がわかりません。誰かが私を助けてくれたら、ありがとう。IDL
MICO
CORBA
mico-2.3.13.zip
c++ - IDL 生成ヘッダー ファイルの変更
Visual Studio 2010 に移行する従来の C++ COM プロジェクトに取り組んでいます。このプロジェクトの IDL ファイルでは、別の C++ プロジェクトから ODL ファイルを参照する必要があります。私の問題は、他のプロジェクトがそのヘッダー ファイルを $(filename)_h.h として生成することです。IDL ファイルがヘッダー ファイルを生成すると、ODL ファイル名が $filename.h として生成され、正しいファイルを参照できません。
つまり、私の IDL ファイル ("MyIDLFile.idl") には、次のようなステートメントがあります。
import "MyODLFile.odl"
生成されたファイル (「MyIDLFile.h」) は次のようになります。
「MyODLFile.h」を含める
生成する必要があるとき
「MyODLFile_h.h」を含める
import ステートメントで IDL が生成するファイル名を指定するにはどうすればよいですか?
c++ - VS2008C++コンパイラはプロジェクトのビルドを要求し続けます
重複の可能性:
VisualStudioはすべてを構築し続けます
同じプロジェクトの別のファイルに含まれる.cファイルを生成するidlファイルを含むプロジェクトがあります。
私はこのプロジェクトをビルドしましたが、すべて問題ありません。次にプロジェクトを実行しようとすると、プロジェクトが古くなっていると言われ、ビルドしたいと思います。はいを選択してビルドすると、idlが再度コンパイルされます。
ビルドのプロンプトが表示されないようにVSプロジェクト設定を設定せずにこれを停止する方法はありますか?
delphi - IDL からタイプ ライブラリへ
Delphi 7 で idl から tlb を生成する方法はありますか? または、クラス/インターフェース定義からでも?
com - idl 内のすべてのインターフェースに一意の uuid を作成する必要があるのはなぜですか?
uuid
idl のインターフェイスごとに固有のものを作成する必要があるのはなぜですか?
たとえば、このインターフェイスでは、すべてのインターフェイスに固有の uuid がありますTradingLib
。
TradingLib
ライブラリ自体に単一の uuid を使用できないのはなぜですか? uuid
インターフェイスごとに作成する必要があるのはなぜですか?
ありがとう。
windows - DLL からの IDL ファイルの作成
私は、__declspec(thread)
変数を使用する C コードから生成された DLL を使用する VB6 グラフィカル インターフェイスに取り組んでいます。問題は、既知の制限により、VB6 プロジェクトでこの dll を動的にリンクできないことです。
したがって、このディスカッションで提案されているように、考えられる解決策は、DLL から IDL ファイルを作成し、MIDL コンパイラでコンパイルしてから、VB6 プロジェクトで結果の .tlb ファイルを参照することです。
構造体変数を含む関数を指定する必要があるまで、.tlb ファイルを生成できます。
行で: int myFunct([in] myStruct data);
コンパイラは言う:
syntax error: expecting a type specification near "myStruct"
それを機能させる方法はありますか?IDL ファイルのある種の構造体宣言のようなものですか?
ありがとうございました、
GB
ここでwqwによって解決されました。ありがとう
c - VB6 - .tlb ファイルを介して C で記述された DLL に文字列を渡す方法
I'm working on a graphical interface written in VB6, where I have to call function contained in a certain DLL written in C. Because of a known limitation I had to implement a trick that allows me to load this DLL in a implicit way.
This is possible creating an IDL file, compile it with MIDL and reference the resulting .tlb file in the VB6 project.
The problem is that VB6 strings and C arrays of char do not match, so I can't pass (and get back) them to the DLL.
The prototype of the C function is:
int __stdcall myFunc(char filename_in[], char filename_out[], char ErrMsg[]);
What should I write in the IDL file and how should I call it from VB6?
Thanks.
visual-c++ - ATL: COM インターフェイスからメソッドを削除できません - 魔法のように常に再表示されます
環境: VS2008、C++ ATL COM、64 ビット、Windows 7
古い COM インターフェイスからメソッドを削除しようとしています。*.idl を変更し、関連する *.h および *.cpp 実装ファイルを変更し、メイン プロジェクトの .h ファイルからも削除します。プロジェクト全体で古いメソッド名を検索できます-表示されず、コンパイル/リンクは正常に行われます。ただし、オブジェクト ブラウザを使用してコンパイル済みの DLL を確認すると、dang メソッドがまだ残っています。.NET プロジェクトで DLL を「参照」すると、メソッドが表示されます。.NET コードがメソッドを使用しようとすると、メモリ例外が発生します (これは理にかなっています)。IDL を変更し、メソッド コードを削除し、結果としてコンパイルされた DLL を正しくする方法を理解することはできません。
メソッドが潜んでいるのは一体どこで、既存の ATL 生成 COM インターフェイスからメソッドを削除する別の方法はありますか? 私は困惑しています!ありがとう!