社区
语言基础/算法/系统设计
帖子详情
关于PChar中存在#0 的问题
bluepph
2019-01-12 09:02:04
#0一般做为结束符,但是最近要调用一个C的动态库。传的值中间就存在#0。估计是这个原因导致调用动态库一直报错。
大家遇到这个问题一般如何解决的?
...全文
846
5
打赏
收藏
关于PChar中存在#0 的问题
#0一般做为结束符,但是最近要调用一个C的动态库。传的值中间就存在#0。估计是这个原因导致调用动态库一直报错。 大家遇到这个问题一般如何解决的?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
虎子8
2019-01-29
打赏
举报
回复
换个类型或者 继续用pchar把内容base64一下
sazhufa
2019-01-14
打赏
举报
回复
一定要先搞清楚动态库如何使用传入参数。
如果只有一个单纯的字符指针参数, 那么遇到#0就中止很正常。
解决方法是: 先确定dll导出函数的定义,然后review代码看看有没有调用问题(参数个数、类型、顺序 三个方面)
doloopcn
2019-01-13
打赏
举报
回复
应该是你的调用方法有问题
DELPHI调用C一般都可能通过BUFF,你的程序在读BUFF的时候读的字节数不对,就有可能把#0读进来了
试试通过String数组解决:
var S:AnsiString;
...
Result:='';
for i:=1 to Length(S) do
begin
if Ord(S[i])<>0 then
Result:=Result+S[i]
else
Break;
end;
日立奔腾浪潮微软松下联想
2019-01-13
打赏
举报
回复
只能说你的参数传入就是有问题的...
BlueStorm
2019-01-12
打赏
举报
回复
可以改为传指针,例如: @str[1]
zipfile.dll或者myzip.dll的下载解压缩dll
=0 压缩文件
中
未包含任何文件 >0 解包的文件数量 说明 : 同名文件将自动被替换(overwrite) 2. Function MyZip_ExtractFile(ZipFile,srcName,DstName:
pc
har
):integer;stdcall; 功能 : 从ZipFile...
先人的DELPHI基础开发技巧
Result := UrlDownloadToFile(nil,
PC
har
(Source),
PC
har
(Dest), 0, nil) = 0; except Result := False; end; end; if DownloadFile('http://www.borland.com/delphi6.zip', 'c:\kylix.zip') then ShowMessage...
delphi教程
由于Delphi的脚本语言基于Pascal,而Windows API通常使用C/C++编写,两者之间的数据类型
存在
差异,这导致了直接调用API时可能会遇到类型不匹配的
问题
。例如,Delphi
中
的`string`类型与API
中
的`c
har
*`类型不兼容。 #...
Delphi文件操作所涉及的一些函数
在 Delphi 编程语言
中
,文件操作是非常重要的一个环节,它涉及到文件的创建、删除、重命名、读取等操作。本文将详细介绍 Delphi
中
常用的文件操作函数,并结合示例代码进行说明。 #### 1. 检查文件是否
存在
(`File...
delphi程序只运行一次
在Delphi开发
中
,有时我们需要确保应用程序只能运行一个实例,即当用户尝试再次启动程序时,已
存在
的程序实例能够成为焦点或者阻止新的实例创建。这种需求常见于需要避免资源冲突、节省系统资源的应用场景。本文将...
语言基础/算法/系统设计
16,743
社区成员
33,237
社区内容
发帖
与我相关
我的任务
语言基础/算法/系统设计
Delphi 语言基础/算法/系统设计
复制链接
扫一扫
分享
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章