Delphi 调用 C# Dll 时一个编译问题 mscorlib_TLB.h Ambiguity between 'String' and 'System::String'

I have written an Assembly that also exposed itself as a COM object using
C#.NET.

When I am trying to do "Import Type Library" from Delphi 6 Pro I am
receiving these errors when trying to compile.


[Error] mscorlib_TLB.pas(5194): Type'Byte'is not yet completely defined
[Error] mscorlib_TLB.pas(
5209): Type'Double'is not yet completely defined
[Error] mscorlib_TLB.pas(
5235): Type'Int64'is not yet completely defined
[Error] mscorlib_TLB.pas(
5267): Type'Single'is not yet completely defined
[Error] mscorlib_TLB.pas(
5747): Illegal typein OLE automation section:'Byte'
[Error] mscorlib_TLB.pas(
5754): Illegal typein OLE automation section:'Single'
[Error] mscorlib_TLB.pas(
5755): Illegal typein OLE automation section:'Double'
[Error] mscorlib_TLB.pas(
10874): Illegal typein OLE automation section:'Byte'
[Error] mscorlib_TLB.pas(
10881): Illegal typein OLE automation section:'Single'
[Error] mscorlib_TLB.pas(
10882): Illegal typein OLE automation section:'Double'
[Fatal Error] TestCOM_TLB.pas(
60): Could not compile used unit'mscorlib_TLB.pas'

.Net defines some types that are defined in VCL. Download Managed VCL and use mscorlib_tlb.pas from there - it is in source and even in trial version. Or open $(Delphi)\Bin\tlibimp.sym in notepad (backup existing version first) and add:

 

;;==============================================;;
;; Map mscorlib CoClasses to better names ;;
;;
==============================================;;
[
{BED7F4EA-1A96-11D2-8F08-00A0C9A6186D}:TypeNames]
Byte
=CLRByte
Double
=CLRDouble
Single
=CLRSingle
Int16
=CLRInt16
Int32
=CLRInt32
Int64
=CLRInt64
String
=CLRString
Object
=CLRObject
Array
=CLRArray
Enum
=CLREnum
Boolean
=CLRBoolean
Char
=CLRChar
Guid
=CLRGuid
Type
=CLRType
Void
=CLRVoid
Pointer
=CLRPointer
Exception
=CLRException

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值