永发信息网

delphi 调用函数

答案:2  悬赏:0  手机版
解决时间 2021-02-26 15:38
int EHRSyncTransport ( String eventid, String body, ref String message, ref String result)
dll中是这么定义的
那我调用该函数,要怎么写才能获取到ref message信息

function EHRSyncTransport( eventid,body: String; var m:pchar ):integer;stdcall;external 'ehradp.dll'

procedure TForm1.Button4Click(Sender: TObject);
var
xmlstr:string;
herder:string;
x:pchar;
i:integer;
begin
//if form3.showmodal=mrok then
begin
getmem(x,1000) ;
OpenDialog1.Execute;

XMLDocument1.FileName:=OpenDialog1.FileName;
XMLDocument1.Active:=true;

xmlStr:= XMLDocument1.XML.Text;
herder:=copy(xmlstr,pos('
',xmlstr), pos('',xmlstr)-51) ; //51消息申明
xmlstr:=copy(xmlstr,pos('
',xmlstr)+9,length(xmlstr)-pos('',xmlstr));
xmlstr:=copy(xmlstr,0,pos('',xmlstr)+6);

i:=EHRSyncTransport(herder,xmlstr,x) ;

showmessage(inttostr(i));
showmessage(x);

//else exit;
end;
freemem(x) ;
end;
最佳答案
你的DLL是C#生成的?
delphi没有办法调用的.
因为在delphi中没有对应C#的String类型的类型.
全部回答
先在type里声明,然后在implementation里写函数体,也在这里调用函数。 比如,我在type里声明function function1(): integer;,这样就声明了一个function1()函数。 然后在implementation里 function tformmain.function1() : integer; begin end; 这里写函数体。 调用时用function1(),这样就可以了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
如何对待母亲的情人来家里住?
【cad一大圆切一直角的两根线且外切三小圆如
奥氮平和启维哪个药效好
二手800元的投影机好不好06年的
冲一杯茶需要多少茶叶?
孕妇缺碘可引起()。
南京大学和南京大学商学院有什么区别
任务开始后可以删除BT种子文件吗?大神们帮帮
英语翻译We never know when our time will b
如何使用会声会影进行视频与视频之间的连接?
JYP公司的明星当练习生时有老师教英语吗?
灵宝金源汽车服务有限公司这个地址在什么地方
every minute counts 是什么意思
北市仁康养老服务中心地址在什么地方,想过去
三文鱼和马哈鱼是不是一种鱼
推荐资讯
讴歌量贩KTV巨星店我想知道这个在什么地方
我是很久以前的人人网注册用户,我的注册邮箱
瑞士天梭表怎么样
文本框在哪
纹眉脱色后成红色还能再返色吗
夏树奶沫地址有知道的么?有点事想过去
大学提挡线是什么意思啊
一张吃火锅的照片怎样写说说
深圳农村商业银行广西临桂朝阳支行地址有知道
金坷垃亩产多少啊?
昆明路北一巷/昆明路南一巷(路口)这个地址在
食品流通许可证是不是很难考?????
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?