delphi string转化为pchar得到的字符串长度不够 把string的值付给pchar型,得到的数据不全,为什么? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你是怎么"把string的值付给pchar型"的, 贴代码出来 function get_ss(id:pchar):pchar;stdcall;begin.........while not eof dobegin t:=t+qry_temp.fieldbyname('id').asstring+qry_temp.fieldbyname('name').asstring+#10+#13;next;end;result:=pchar(t);end; 为什么没有人搭理呢?这个从string到pchar的转换最正确的写法应该是什么样的? 你在函数的最后把t的内容showmessage出来看看正不正常,如果不正常就是你的上面的代码的问题了.比如你可以在遍历数据集之前没有First跳到第一条记录之类的 t值是正确的,就是付给result出的错我已经测过了 那应该是t是过程完成就被回收了,看来你要用GetMem自己分配Result的内存.....不过这样你调完后,要记得在外面FreeMem掉 以var 的形式作为输出变量返回给主调函数另外,PCHAR类型的,你先应该申请足够的内存,再通过字符串拷贝的方式进行赋值 请教在FilterGraph的onGraphComplete事件问题 如何通过程序数据库中得到的信息创建控件 数据库还原错误 如何通过输入的参数(string类型),来调用Timage控件的picture属性啊~ 字段值更新问题 使用TListView控件时发生屏蔽键盘的怪现象,请高手指教。 关于调用DLL文件的问题,请大家过来看一看! 如何把TREEVIEW中的一个节点拖到另一个节点下? 最简单的输入数据后dbgrid列值自动变化,报错? 如何用最快的速度将一幅图片全屏显示,并同时播放一个。WAV 急求一个功能的实现方法 FastReport 预览正常,打印就缺字
begin
.........
while not eof do
begin
t:=t+qry_temp.fieldbyname('id').asstring+qry_temp.fieldbyname('name').asstring+#10+#13;
next;
end;
result:=pchar(t);
end;
另外,PCHAR类型的,你先应该申请足够的内存,再通过字符串拷贝的方式进行赋值