idl

    0熱度

    2回答

    在IDL中聲明類似以下不可生成的同類動物的原因是什麼? [ uuid(uuidhere), noncreatable ] coclass CoClass { [default] interface ICoClass; }; 我的意思是這樣的類無論如何都不會被註冊到COM。有什麼理由在IDL文件和通過編譯IDL文件生成的類型庫中提到它?

    1熱度

    3回答

    如果您的基本布爾字符串字段具有足夠簡單的架構,那麼該如何去編寫C++中的代碼生成器。 如果你曾經寫過,你是如何開始的。文章/建議表示歡迎。 編輯:請注意,這不是標準的CORBA idl。

    1熱度

    1回答

    當我在IDL中定義了一個不是從任何東西派生的接口時,MIDL預編譯器會發出警告(Visual C++ 2008): 警告MIDL2271:[object]接口必須從另一個[對象]接口如IUnknown的(......) 如果我導出從另一個不自IUnknown派生我的接口,MIDL失敗: 錯誤MIDL2257:僅IUnknown的可以被用作根接口(.. ) 現在,我的問題:這是COM或MIDL預編譯

    0熱度

    2回答

    我有一堆繼承從idl文件生成的摘要接口的對象。使用這些接口的每個對象都包含相同的文件interfaces.h,其中包含映射到idl接口的所有C++生成的抽象類。 每次我改變任何東西到interfaces.idl中,每一個依賴於它的類都必須重建,因爲interfaces.h會改變。有沒有一個標誌或什麼東西來告訴midl以自己的方式生成每個抽象類?

    2熱度

    2回答

    我需要使一段C#代碼通過COM與各種實現進行交互。 爲了讓該集成的用戶更輕鬆,我將交互的接口包含在IDL中(作爲相關現有DLL的一部分,但沒有coclass或實現),然後通過運行Tlbimp創建類型定義。 我實現了我的C#,基於Windows註冊表信息創建COM對象,並將對象轉換爲我需要的接口。 然後我在一個單獨的項目中創建了接口的C#實現並註冊它。 主程序正確創建了測試COM對象,但未能將其轉換

    6熱度

    1回答

    我有一個使用MS ATL庫編寫的COM對象。我已經在IDL中聲明瞭一堆枚舉,但在使用MS COM Object Viewer工具查看類型庫時不會出現。問題似乎是,缺少的枚舉實際上並未被任何COM方法用作參數 - 我如何強制這些枚舉出現? 例如,在IDL: // Used by Foo method, so appears in the type library typedef enum FOO

    0熱度

    1回答

    我想知道我是否失去了一些東西: //this is test.idl typedef foo foo_t; // end of test.idl 當我編譯test.idl用下面的命令: midl /W4 test.idl 我得到這個輸出 Microsoft (R) 32b/64b MIDL Compiler Version 6.00.0366 Copyright (c) Micros

    1熱度

    1回答

    中的IDL文件我編譯罰款與Linux工具,但是當我嘗試使用MIDL編譯我得到一個錯誤 error MIDL2025 : syntax error : expecting a declarator or * near "<" 該行是: typedef string<40> somestring; 這是非標準的idl,還是我錯過了什麼?有沒有midl允許這個開關? 我希望我能早點設置賞金..

    3熱度

    2回答

    我正在構建一個類工廠類型的ATL類型庫。事情八九不離十是這樣的: [ object, uuid(...), ... ] interface INumber : IDispatch { [propget, id(0)] HRESULT Value([out, retval] LONG* pVal); } [ object, uuid(...), ... ] interface I

    0熱度

    1回答

    我從IDL創建一個頭文件。 IDL文件已在Visual C++ 2005中編譯。 生成的頭文件包含#define REQUIRED_RPCNDR_H_VERSION 475。 我試圖用此頭文件在Visual Studio 2003,其中包含rpcndr.h { 的#define RPCNDR_H_VERSION(450)//和 的#if(RPCNDR_H_VERSION < REQUIRED_RP