0
我正在嘗試使用tlibimp.exe(版本11.0)導入第三方.NET類型庫(COM服務器DLL)。這基本上可以正常工作,但是當我在不同的計算機上運行它時,結果會有所不同,其中一臺運行Windows XP,另一臺運行Windows 7.更糟的是,在Win7機器上生成的代碼無法編譯。tlibimp.exe輸出在不同的操作系統上有所不同
兩臺機器有:
- 的Borland C++(RAD Studio企業)2007
- tlibimp.exe版本安裝11.0
- 同.NET framework版本(據我所知,2007年的Borland 使用.NET V2)
- bcc32.exe版本5.93
編譯器在OCX.h失敗:
Parameter mismatch in write access specifier of property Font
的代碼XP的機器(其編譯OK)上的相關的行是:
__property Graphics::TFont * Font={ read=GetTFontProp, write=_SetTFontProp, stored=false, index=-512 };
Win7的機器(其失敗)在同一行中是:
__property IFontDisp* Font={ read=get_Font, write=set_Font, stored=false };
現在我不確定這種差異是從哪裏來的。有任何想法嗎?
歡呼 亨德里克
.net COM服務器如何導出VCL'Graphics :: TFont'? –
我不知道,但它似乎工作。這可能是一些Borland組件的包裝魔法? – Hendrik
我應該補充說,這個類的兩個版本之間存在巨大差異,而不僅僅是一行。首先,WinXP版本繼承了TOleControl,而Ole7的Win7 :: TOleServer – Hendrik