火山调用DLL识别库传址为问题
.版本 2.DLL命令 Init, , "MCG_DLL.dll", "Init", , 初始化DLL
.DLL命令 LoadFromBuffer_EX, 整数型, "MCG_DLL.dll", "LoadFromBuffer_EX", , 从内存中载入模型文件,成功返回id,否则返回0。
.参数 Password, 文本型, , 文本型,识别库密码
.DLL命令 GetImageFromBuffer, , "MCG_DLL.dll", "GetImageFromBuffer", , 识别一个记录了图像文件的二进制数据的字节数组,或一块同样功能的内存区域
.参数 ImgBuffer, 字节集, , 字节集,传入要识别的图片
.参数 ImgVcode, 文本型, 传址, 文本型,返回的**字符串,使用该参数前需要将一个足够长的空白字符串赋值给它。
.参数 ModelId, 整数型, , 文本型,模型id
识别库初始化和加载都成功没问题,识别的时候就不行了,要么识别不成功要么崩溃,什么多文本到多字节,取变量地址,文本到指针都试过啦不行,求大神指教!
<火山程序 类型 = "通常" 版本 = 1 />
方法 GetImageFromBuffer <公开 静态 注释 = "识别一个记录了图像文件的二进制数据的字节数组,或一块同样功能的内存区域" @输出名 = "GetImageFromBuffer"
@视窗.输入 = "MCG_DLL.dll">
参数 ImgBuffer <类型 = 变整数 注释 = "传入要识别的图片">
参数 ImgVcode <类型 = 变整数 注释 = "返回的**字符串,使用该参数前需要将一个足够长的空白字符串赋值给它">
参数 ModelId <类型 = 整数 注释 = "模型id">
方法 识别图片 <公开>
参数 图片数据 <类型 = 字节集类>
参数 模型id <类型 = 整数>
{
变量 ImgVcode <类型 = 字节集类>
ImgVcode.分配字节集 (1024, 真)// 长度按情况增加
GetImageFromBuffer (图片数据.取字节集数据 (), ImgVcode.取字节集数据 (), 模型id)
返回 (多字节到文本 (ImgVcode))
}
Xelloss0618 发表于 2023-7-10 19:11
方法 GetImageFromBuffer
参数 ImgBuffer
参数 ImgVcode
这样写报错,加了个参数不报错了但还是崩溃:'(
{
变量 ImgVcode <类型 = 字节集类>
ImgVcode.分配字节集 (1024, 真)// 长度按情况增加
GetImageFromBuffer (图片数据.取字节集数据 (,变整数), ImgVcode.取字节集数据 (,变整数), 模型id)
返回 (多字节到文本 (ImgVcode))
aaa2778 发表于 2023-7-10 21:01
照你这个写了也不行,取字节集数据第3个参数不能忽略吧 aaa2778 发表于 2023-7-10 21:01
你这个图片是怎么传上来的?为啥我上传不了 GetImageFromBuffer前2个参数都 传递字节集指针就行了
第一个参数 是图片字节集取指针传进去就行了
第二个自己分配足够大小的空白字节集然后取字节集指针传进去 609177738 发表于 2023-7-10 21:27
GetImageFromBuffer前2个参数都 传递字节集指针就行了
第一个参数 是图片字节集取指针传进去就行了
...
嗯 是这样弄的 崩溃闪退的原因是传图片字节集这里 我去掉就没事了 消失的枫 发表于 2023-7-10 21:17
你这个图片是怎么传上来的?为啥我上传不了
字节集那里应该也是把字节集指针传过去 按上面这些方法都试过还是崩溃闪退,还有大神帮忙看看嘛 源码太大放百度云了
百度云链接码 164pZxu6Q50DaLKrADaAasQ
提取码:pk4c
页:
[1]