关于函数参数的问题

blizzard111 2009-04-30 03:27:44
我有个用delphi写的读卡函数,如下所示:
function Freadcard(iprescno :integer; //就诊号
Icardtype :integer; //0:磁卡 1:mem卡 2:cpu卡(如果是居民医保少年、少儿则为3)
wsInsCardID :pchar; //卡号 (如果是居民医保少年、少儿则为传入参数为卡号)
wsinscardstate :pchar; //卡状态
wsinsdredgedate :pchar; //开通日期
var cyInsClinicExpenseSum :double; //门诊总费用
var cyInsClinicGenericExpense :double; //门诊一般费用累计
var cyspecclinicsum :double; //门诊特殊病种费用累计
var cyInsInHosGenericExpense :double; //住院一般费用累计
var cyInsInHosSumExpense :double; //住院院总费用
wsInsKind :pchar; //参保人人员性质(在职、退休、离休、居民、老年特困、少年、少儿)

wsInsLastLeaveHospDate :pchar; //最近一次出院日期(如果是特病病人,转义为特病名称)
var cyInsMedFee :double; //医疗帐户支付累计
var cyinsmedfeepayvalue :double ; //年度支付起付费用累计
wsInsName :pchar; //参保人姓名(一般特病加一个*,特一后面加两个*)
wsInsQueryID :pchar; //身份证号(用于区别扬州和邗江)
wsInsSex :pchar; //性别
dtBirthday :pchar; //出生日期
sUnitName :pchar; //单位名称
var cymedfee :double ;//当前医疗帐户余额
var cybankacc :double; //当前储蓄余额
var cyHelpFeeSum :double; //大病费用累计
var cyHomeBedFeeSum :double; //家床费用累计
Var CyHomeRate :double //家床疗程序/比率
) :integer ;stdcall;
现在我要在c#中调用它,其他类型的参数都能读出来,就是pchar类型的数据无法读出。我知道只用加了var的参数才能读出数据,对于没加var的参数算什么呢?是只能写还是可以读?
...全文
84 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zz1001 2009-05-01
  • 打赏
  • 举报
回复
路过,学习下
数字蛋糕 2009-04-30
  • 打赏
  • 举报
回复
[Quote=引用楼主 blizzard111 的帖子:]
我有个用delphi写的读卡函数,如下所示:
function Freadcard(iprescno  :integer;        //就诊号
Icardtype :integer;        //0:磁卡 1:mem卡 2:cpu卡(如果是居民医保少年、少儿则为3)
wsInsCardID :pchar;        //卡号 (如果是居民医保少年、少儿则为传入参数为卡号)
wsinscardstate :pchar;  //卡状态
wsinsdredgedate :pchar;    //开通日期
var cyInsClinicExpenseSum      :double;    //门诊总费用
v…
[/Quote]
pchar类型的参数往往配合一个maxLength使用以保证不发生访问越界。在调用函数之前你必须为该指针分配内存,调用之后再释放掉。
如果没有maxLength参数的话,那么你可以看情况尝试着分配一个较大的空间,或者查阅文档获知该参数可能的最大长度。
qiume 2009-04-30
  • 打赏
  • 举报
回复
好像会内存泄漏哦......
fangsp 2009-04-30
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lovelymelon 的回复:]
加var的参数是实参,可以作为返回值使用,不加var是形参,不能作为返回值使用
[/Quote]
楼上的说的有理
加上var后 这个变量可作返回值用
lovelymelon 2009-04-30
  • 打赏
  • 举报
回复
加var的参数是实参,可以作为返回值使用,不加var是形参,不能作为返回值使用

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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