炫彩界面库论坛

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 5042|回复: 1

[提问] 炫彩头文件转换器插件问题

[复制链接]

该用户从未签到

发表于 2017-3-31 23:47:02 | 显示全部楼层 |阅读模式
10炫彩币

炫彩头文件转换工具 - 理论上可以转换成任何语言的....  这个就需要插件支持了


现在是搞出了插件功能。但是出问题了,   
函数参数类型都是储存在自定义类型中的。 大概是这样的

type
  函数名
  参数信息 :Array of param
  返回值
end;

type  param
  参数名 : pchar;
  参数类型:pchar;
  是否传址 :boolean;
end;

也就是说参数信息是个param数组。但是DLL传递的时候就瞎了....  无奈,  只能把参数写成这样的:
函数名
参数1|参数2|参数3|参数4
类型1|类型2|类型3|类型4
是否传址1|是否传址2|.....
返回类型;

写成这样之后, 插件自己处理, 也就一个Split("|"),反正|就是一个分隔符, 自己看着分割就好了。 这个方法是目前我能想到我最轻松的方法。

来论坛就是求个更好的办法,大(ji)佬(lao)们给个好方法吧....

QQ截图20170331233908.png

该用户从未签到

发表于 2017-4-6 15:56:16 | 显示全部楼层
本帖最后由 dasemimi 于 2017-4-6 15:59 编辑

办法是有的,这个比较简单,传递结构体是允许最后一个参数是数组的,你多传递一个参数,参数标记结构体最后一个参数的数量就可以了

还有,结构体里面的成员变量最好是固定的
比如

typedef struct{
char 函数名[64];
int 函数类型

}


反正就是要传递一个变量,告诉dll,你到底传递了几个结构体过来,然后别人就可以自己解析了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

QQ|Archiver|手机版|小黑屋|炫彩界面库 ( 鄂ICP备2023014763号-1 )

GMT+8, 2024-5-2 17:44 , Processed in 0.069376 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表