求大神指点DELPHI调用C#动态库,函数改写

duke222504 2017-12-12 11:21:31
C#写的DLL中函数 int GetChannelMessage(ref byte ConAddr,
byte[] Msg,
ref byte MsgLength ,
ref byte MsgType,
ref byte IRStatue,
int PortHandle);
我在DELPHI中引用
function GetChannelMessage (var ComAddr:byte;Msg:array of byte;var MsgLength:byte;var MsgType:byte;var IRStatue:byte;PortHandle:integer):integer;stdcall;external...

这样引用对吗?函数调用后,返回的结果一直错误,MsgLength一直为0,求大神指点。
...全文
793 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 4 楼 wk_knife 的回复:
C#能写非托管的动态链接库么? 有知道的么? Delphi能直接调用C#的Dll么?
只要生成unmanaged exports就可以:https://www.nuget.org/packages/UnmanagedExports
EP外星人 2018-01-15
  • 打赏
  • 举报
回复
网上搜了一下,好像Delphi调用C#的基于COM的动态链接库还行。一般的C# dll,记得得有个转换工具吧。
EP外星人 2018-01-15
  • 打赏
  • 举报
回复
C#能写非托管的动态链接库么? 有知道的么? Delphi能直接调用C#的Dll么?
  • 打赏
  • 举报
回复
Msg可能需要调用前预分配空间。
duke222504 2017-12-12
  • 打赏
  • 举报
回复
改成Msg:pbyte后,曝出DLL地址错误
  • 打赏
  • 举报
回复
Msg:array of byte; ============== Msg:pbyte;

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧