精易论坛

标题: C#显示易语言DLL返回文本数据 [打印本页]

作者: itben    时间: 2018-5-18 23:00
标题: C#显示易语言DLL返回文本数据
易语言写的dll想用在C#上,通过测试发现易语言返回整数型、逻辑型数据时,C#能正常调用
但返回文本型数据时,C#就会报错
搜索了一下,有人说用传递内存地址的方法,易语言将文本型数据的内存地址返回给C#,再用C#读取,本人表示不会,
求大神实现,或者用其他有效的方法实现

作者: 金金金    时间: 2018-5-18 23:00
本帖最后由 金金金 于 2018-5-20 10:55 编辑
  1. public static string main(byte[] data)
  2.         {
  3.                 try
  4.                 {
  5.                     IntPtr StrPtr = a(data, data.Length);
  6.                     return Marshal.PtrToStringAnsi(StrPtr);
  7.                 }
  8.                 catch { return ""; }
  9.             }
复制代码

作者: hez2010    时间: 2018-5-21 00:27
可以试一下StringBuilder作为P/Invoke的返回值类型。
作者: mmmxxx    时间: 2018-6-2 09:22
易语言返回字节集,然后c#这边用上面那个兄弟的代码
作者: 秋夜独行侠    时间: 2018-6-3 20:48
设置为 com
作者: loveganjiqi    时间: 2018-6-4 16:00
是  报错    还是  返回的数据错误
作者: nicotineearl    时间: 2018-8-26 00:58
你去搜一下c#调用c++了类似例子,内存结构不一样




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4