急,带参数函数调用问题

mg2008 2003-09-11 01:13:21
function PP_GetTargetName(var Str:PChar):Integer;
begin
try
Result:=1;
Str:=PChar('小秘书');
except
Result:=0;
end;
end;


procedure TForm1.Button1Click(Sender: TObject);
var s:String;
begin
PP_GetTargetName(请问该处该给什么样参数);
end;
...全文
40 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
bphoenix 2003-09-11
  • 打赏
  • 举报
回复
你要定义一个PCHAR的临时变量,把值赋给临时变量,再传临时变量就可以了
另外function PP_GetTargetName(var Str:PChar):Integer;的写法也有问题,PChar本身是个指针,不需要var

procedure TForm1.Button1Click(Sender: TObject);
var s:String;
tempP:Array[0..127]of char; //不要定义成PCHAR,否则内存空间没有分配
begin
tempP:=PChar('小秘书');
PP_GetTargetName(tempP);
end
upingking 2003-09-11
  • 打赏
  • 举报
回复
Str要有返回值吗??如果要,建议用procedure
procedure PP_GetTargetName(var Str:PChar;Var Result:integer=0);
begin
try
Result:=1;
Str:=PChar('小秘书');
except
Result:=0;
end;
end;
xjlqlqlq 2003-09-11
  • 打赏
  • 举报
回复
pch:Pchar;
PP_GetTargetName( pch ); //应该传一个变参...

mg2008 2003-09-11
  • 打赏
  • 举报
回复
请给个具体的调用例子,多谢
上海老李 2003-09-11
  • 打赏
  • 举报
回复
你用了强制转换,应该说,是字符串就可以
mg2008 2003-09-11
  • 打赏
  • 举报
回复
star_of_light(星星之光)
不行啊,编译时出错
[Error] Unit1.pas(44): Constant object cannot be passed as var parameter
star_of_light 2003-09-11
  • 打赏
  • 举报
回复
PP_GetTargetName(PChar('小秘书'));

5,379

社区成员

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

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