消失的枫 发表于 2023-7-10 18:31:29

火山调用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
识别库初始化和加载都成功没问题,识别的时候就不行了,要么识别不成功要么崩溃,什么多文本到多字节,取变量地址,文本到指针都试过啦不行,求大神指教!

Xelloss0618 发表于 2023-7-10 19:11:29

<火山程序 类型 = "通常" 版本 = 1 />

方法 GetImageFromBuffer <公开 静态 注释 = "识别一个记录了图像文件的二进制数据的字节数组,或一块同样功能的内存区域" @输出名 = "GetImageFromBuffer"
      @视窗.输入 = "MCG_DLL.dll">
参数 ImgBuffer <类型 = 变整数 注释 = "传入要识别的图片">
参数 ImgVcode <类型 = 变整数 注释 = "返回的**字符串,使用该参数前需要将一个足够长的空白字符串赋值给它">
参数 ModelId <类型 = 整数 注释 = "模型id">

方法 识别图片 <公开>
参数 图片数据 <类型 = 字节集类>
参数 模型id <类型 = 整数>
{
    变量 ImgVcode <类型 = 字节集类>
    ImgVcode.分配字节集 (1024, 真)// 长度按情况增加
    GetImageFromBuffer (图片数据.取字节集数据 (), ImgVcode.取字节集数据 (), 模型id)
    返回 (多字节到文本 (ImgVcode))
}

消失的枫 发表于 2023-7-10 19:40:24

Xelloss0618 发表于 2023-7-10 19:11
方法 GetImageFromBuffer
参数 ImgBuffer
参数 ImgVcode


这样写报错,加了个参数不报错了但还是崩溃:'(
{
    变量 ImgVcode <类型 = 字节集类>
    ImgVcode.分配字节集 (1024, 真)// 长度按情况增加
    GetImageFromBuffer (图片数据.取字节集数据 (,变整数), ImgVcode.取字节集数据 (,变整数), 模型id)
    返回 (多字节到文本 (ImgVcode))

aaa2778 发表于 2023-7-10 21:01:20


消失的枫 发表于 2023-7-10 21:16:05

aaa2778 发表于 2023-7-10 21:01


照你这个写了也不行,取字节集数据第3个参数不能忽略吧

消失的枫 发表于 2023-7-10 21:17:37

aaa2778 发表于 2023-7-10 21:01


你这个图片是怎么传上来的?为啥我上传不了

609177738 发表于 2023-7-10 21:27:21

GetImageFromBuffer前2个参数都 传递字节集指针就行了
第一个参数 是图片字节集取指针传进去就行了
第二个自己分配足够大小的空白字节集然后取字节集指针传进去

消失的枫 发表于 2023-7-10 22:32:17

609177738 发表于 2023-7-10 21:27
GetImageFromBuffer前2个参数都 传递字节集指针就行了
第一个参数 是图片字节集取指针传进去就行了
...

嗯 是这样弄的 崩溃闪退的原因是传图片字节集这里 我去掉就没事了

aaa2778 发表于 2023-7-11 01:40:19

消失的枫 发表于 2023-7-10 21:17
你这个图片是怎么传上来的?为啥我上传不了

字节集那里应该也是把字节集指针传过去

消失的枫 发表于 2023-7-11 02:58:46

按上面这些方法都试过还是崩溃闪退,还有大神帮忙看看嘛 源码太大放百度云了
百度云链接码 164pZxu6Q50DaLKrADaAasQ
提取码:pk4c
页: [1]
查看完整版本: 火山调用DLL识别库传址为问题