求教,c#如何调用delphi编写的dll中的函数

探讨了在C#中调用由Delphi编写的DLL中的函数时遇到的问题,包括函数调用错误及参数传递不当的情况,并提供了解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


======================================================
注:本文源代码点此下载
======================================================

求教。
       c#如何调用delphi编写的dll中的函数 delphi / windows sdk/api

http://www.delphi2007.net/delphibase/html/delphi_20061219114602118.html

如题;

由于工作需要用到c#,但是有写函数用c#太不习惯了,于是用delphi写,但是调用时出现了问题,开始以为是函数写错了,但是后来写了个最简单的showmessage也不行

delphi中

声明部分

procedureshowmsg(mtext:string);cdecl;

定义部分

procedureshowmsg(mtext:string);cdecl;

begin

showmessage(mtext);//就随便测试下

end;

给出端口

exports

showmsg;//编译生成project2.dll

c#中

引用

[dllimport("project2.dll")]

privatestaticexternstringshowmsg(stringmtext);

随便放入一个按纽点击事件

showmsg("afsdfas");

结果只show出了第一个字符“a”

如果把delphi中的过程写成一个函数,那就show成了空的,没接收到入参

不知道应该怎样写,请高手指点

仔细看一下有关教材,delphi里的string类型与c里面的并不一样,

procedureshowmsg(mtext:pchar);cdecl;

这样才可以

但是c#里面好象没有pchar型,只有char型

试了一下不行,show出来的是乱码。。。

汗,我的意思是指在delphi里面要使用pchar型......

或者干脆使用指针+长度两个参数来传递.....

结贴


======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值