能不能用字符串当参数给DLL的函数,如何?

PeterWu 2000-03-09 10:18:00
我在编DLL时,用字符串作参数传给DLL内的函数时,在其它语言中调用不了(如VB),如何解决这个问题?
...全文
168 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jll 2000-03-11
  • 打赏
  • 举报
回复
要用到String类型,必须引用SysMem单元作为DLL和调用工程的第一个引用的单元,具体方法有兴趣的话可以参考
http://bluebird22.easthome.net 下的“灌水文章”。
如果要VB之类的其他环境使用的话,建议转换String类型为PChar类型。
mutant 2000-03-10
  • 打赏
  • 举报
回复
可以。
建立一个新的动态连接库工程,看.dpr文件前半部分的帮助,上面有关于String类型在DLL中的用法.
929 2000-03-10
  • 打赏
  • 举报
回复
在DELPHI中的STRING类型,其格式和实现方法与其它语言是不太相同的。比如说LONGSTRING等到类型使用了字符串引用计数的方式进行管理。因此,这种类型的参数在别的语言中难以使用。对于同在DELPHI程序中调用,可加入SHAREMEM单元来解决,而对其它语言,可声明为PCHAR类型或字符数组来解决这个问题。这些内容可看一下DELPHI中帮助“STRING”部分。而在VB中调用可参考一下有关DLL调用的说明。
lybt 2000-03-09
  • 打赏
  • 举报
回复
a:pchar;
几个字符串处理函数增强版 常用需求基本都能完成 已经编译成DLL 函数列表 兼容字符和串 void revstr char str 字符串反转 int substring char res int pos int len char substr 从pos开始取len个字符到substr中 返回1成功 0失败 int strindex char res int pos char substr 返回substr在resource中在pos后出现的位置 返回0表示没找到 int del substr char res int pos int len 从res的pos位置开始删除len个字符 1成功 0失败 int insert substr char res char pos char const substr 在res的pos前插入substr 1成功 0失败 int strreplace char res char substr char desstr 替换res中的substr为desstr 1成功 0失败 int str count char res char substr 统计res中的substr出现的次数 int cut str char res char mark int pos char substr 取res中第pos个用mark分隔的串存入sunstr 1成功 0失败 int str cat char str const char args 拼接多个字符串常量存入str 1成功 0失败 int strarray cat char arr [str max len] int i char str 把二维arr字符串数组拼接成一个串 i是第一维的长度 存入str int replacate char res int n char const str 产生n个重复的str 串或者字符 存入res ">几个字符串处理函数增强版 常用需求基本都能完成 已经编译成DLL 函数列表 兼容字符和串 void revstr char str 字符串反转 int substring char res int pos int len char substr 从pos开始取len个字符到substr中 返回1成功 0失败 int strindex char r [更多]

5,379

社区成员

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

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