递归火山软件开发平台
标题:
调用dll提示内容不为空(其上所使用的"@视窗.输入"属性要求...
[打印本页]
作者:
mosheng
时间:
2024-12-3 22:23
标题:
调用dll提示内容不为空(其上所使用的"@视窗.输入"属性要求...
本帖最后由 mosheng 于 2024-12-3 22:24 编辑
用C++编写一个dll文件,用Python是可以正常调用的,用到火山就不行了,图1是火山调用代码,图2是C++编写dll的代码,图3是Python调用的代码,
求助该怎么解决?
(, 下载次数: 240)
上传
点击文件名下载附件
(, 下载次数: 243)
上传
点击文件名下载附件
(, 下载次数: 243)
上传
点击文件名下载附件
<火山程序 类型 = "通常" 版本 = 1 />
包 火山.程序
类 启动类 <公开 基础类 = 程序类>
{
方法 启动方法 <公开 类型 = 整数>
{
// 在此处填入自己的代码
变量 root_dir <类型 = 文本型>
变量 mmkv_id <类型 = 文本型>
root_dir = "C:\\Users\\mosheng\\PycharmProjects\\pythonProject1\\All"
mmkv_id = "123456"
showMMKV (root_dir, mmkv_id)
返回 (1)
}
方法 showMMKV <公开 静态 类型 = 变整数 注释 = "" 注释 = "" @输出名 = "GetMMKVValue" @视窗.输入 = "MMKVWrapper.dll">
参数 root_dir <类型 = 文本型 注释 = "C:\\\\Users\\\\mosheng\\\\PycharmProjects\\\\pythonProject1\\\\All" "">
参数 mmkv_id <类型 = 文本型 注释 = "123456" "">
{
变量 key <类型 = 字节类>
变量 result <类型 = 字节类>
key = 文本到多字节 ("key_desc_userinfo", 假)
result = GetMMKVValue (root_dir, mmkv_id, key)
调试输出 (result)
}
#
}
复制代码
作者:
Xelloss0618
时间:
2024-12-3 23:47
DLL命令声明里不能写代码啊……
另外火山有封装MMKV
<火山程序 类型 = "通常" 版本 = 1 />
方法 GetMMKVValue <公开 静态 类型 = 变整数 注释 = "" 注释 = "" 折叠 @输出名 = "GetMMKVValue" @视窗.输入 = "MMKVWrapper.dll">
参数 root_dir <类型 = 变整数 "">
参数 mmkv_id <类型 = 变整数 "">
{
}
方法 showMMKV <公开 静态 类型 = 文本型 注释 = "" 注释 = "" 折叠>
参数 root_dir <类型 = 文本型 "">
参数 mmkv_id <类型 = 文本型 "">
{
// MMKV应该是UTF-8编码
返回 (UTF8指针到文本 (GetMMKVValue (文本到UTF8 (root_dir, 真).取字节集指针 (), 文本到UTF8 (mmkv_id, 真).取字节集指针 (), 文本到UTF8 ("key_desc_userinfo", 真).取字节集指针 ())))
}
方法 UTF8指针到文本 <公开 静态 类型 = 文本型 注释 = "将UTF-8的文本指针转换为火山的文本型." 折叠 @嵌入式方法 = "">
参数 UTF8文本指针 <类型 = 变整数 注释 = "必须是带结束零字符的UTF8文本指针">
{
@ @an<CVolString>((const U8CHAR*)@<UTF8文本指针>)
}
作者:
呵呵仙8
时间:
2024-12-3 23:57
提示:
作者被禁止或删除 内容自动屏蔽
作者:
mosheng
时间:
2024-12-4 00:12
Xelloss0618 发表于 2024-12-3 23:47
DLL命令声明里不能写代码啊……
另外火山有封装MMKV
谢谢大佬
作者:
mosheng
时间:
2024-12-4 00:29
Xelloss0618 发表于 2024-12-3 23:47
DLL命令声明里不能写代码啊……
另外火山有封装MMKV
自己封装了一天,才发现PIV里面封装的有MMKV的方法
<火山程序 类型 = "通常" 版本 = 1 />
包 火山.程序
类 启动类 <公开 基础类 = 程序类>
{
方法 启动方法 <公开 类型 = 整数>
{
// 在此处填入自己的代码
变量 MMKV <类型 = MMKV键值表>
MMKV.全局初始化 ("C:\\Users\\mosheng\\PycharmProjects\\pythonProject1\\All", )
MMKV.打开 ("123456", 2, )
变量 取回结果 <类型 = 逻辑型>
变量 res <类型 = 标准文本类U>
res = MMKV.取UTF8文本2 ("key_desc_userinfo")
调试输出 ("res", res.到文本型 ())
返回 (1)
}
#
}
复制代码
这样子直接用,就解析出来了
欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/)
Powered by Discuz! X3.4