Delphi 调用 C# Dll 时一个编译问题 mscorlib_TLB.h Ambiguity between 'String' and 'System::String'
来源:互联网 发布:君泽君 知乎 编辑:程序博客网 时间:2024/05/21 12:41
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
- Delphi 调用 C# Dll 时一个编译问题 mscorlib_TLB.h Ambiguity between 'String' and 'System::String'
- difference between string and string.h
- C# 调用C++dll string传递问题
- MATLAB中System.string格式数据获取,MATLAB调用C#中的dll输出数据格式问题
- [C++ Error] GdiplusGraphics.h(34): E2015 Ambiguity between 'Gdiplus::Graphics::Graphics(void *)' and 'Gdiplus::Graphics::Graphic
- delphi中dll返回string问题
- [C++ Error] BDE.hpp(4159): E2015 Ambiguity between 'PLongint' and 'System::PLongint'
- 当C#调用C++的dll时当心string
- BCB 编译出现 [C++ Error] LMDCustomButton.hpp(49): E2015 Ambiguity between 'Menus' and 'Excel_2k::Menus'
- conversion between UTF8 and string
- Conversion Between BitString and String
- difference between string literal and string object
- C#调用delphi dll接口问题
- TGridDrawState名字空间冲突问题及解决方法(E2015 Ambiguity between 'TGridDrawState' and 'Gridseh::TGridDrawState')
- 关于C++调用C#封装的dll后,获取C#中string返回值的问题
- Delphi的dll如何向C#传出string(1)
- Delphi的dll如何向C#传出string(2)
- C# System.DBNull string
- 第九章 Java多线程机制 05_线程同步_6
- Eclipse 3.7(indigo)下maven插件安装
- eclipse 中显示行号
- Emacs org mode --Hyperlinks
- DWZ (JUI) dwzPageBreak切换显示页数失效
- Delphi 调用 C# Dll 时一个编译问题 mscorlib_TLB.h Ambiguity between 'String' and 'System::String'
- DWZ (JUI) 403状态扩展
- PHP和MySQL Web开发(第4版)之第1章1.2.1源代码
- ADV7611 HDMI Receiver
- 进程管理和调度
- Tiny_Printf
- halcon-fuse.hdev
- Asp.net 服务端缓存引发的一点思考
- ++i和i++关于[自增运算符]和[顺序点]