嗯。
问题其他的没有什么,主要就是出现在检测签名那个子程序里面,dll命令有问题..没有编译的话就不行。其实的话,你本来那个代码也是可以的,只要不用dll,就把dll那个子程序放到程序里面,编译后运行也没有问题。
主要就是在数据库的路径上出现问题。
本来调试运行是在系统临时文件夹里面调试,那个文件夹里面没有数据库文件,自然无法打开,所以会显示打开失败。下面我把你那个dll命令稍微的修改了一下,我想应该就可以了。
======================================================================
.版本 2
.子程序 签名检测, 整数型, 公开, 1,通过 0.未通过
.参数 签名单位, 文本型
.参数 授权的方式, 整数型, , 1.时间限制型,此时签名文件的失效时间起作用 2.次数限制型,此时签名文件的使用次数起作用
.参数 数据库路径, 文本型, , 数据库的绝对路径=.=
.参数 数据库密码, 文本型, , 打开数据库需要的密码-.-
.局部变量 当前系统日期时间, 日期时间型
.局部变量 读取的签名单位, 文本型
.局部变量 读取的授权方式, 整数型, , , 1.时间限制 2.次数限制
.局部变量 失效的时间, 日期时间型
.局部变量 使用的次数, 整数型
.局部变量 返回的数据, 整数型
当前系统日期时间 = 取现行时间 ()
打开 (数据库路径, , , , , 数据库密码, )
置当前库 (数据库路径)
到首记录 ()
读取的签名单位 = 读 (“签名单位”)
.如果 (读取的签名单位 = 签名单位) ' 查对签名单位
到首记录 ()
读取的授权方式 = 读 (“授权方式”)
.如果 (授权的方式 = 读取的授权方式) ' 检测要求的授权方式与签名文件的授权方式是否相同
.判断开始 (授权的方式 = 1)
失效的时间 = 读 (“失效时间”)
.如果 (取整 (取时间间隔 (当前系统日期时间, 失效的时间, #日)) < 0)
信息框 (“签名文件已过期!”, 0, )
返回的数据 = 0
.否则
返回的数据 = 1
.如果结束
.判断 (授权的方式 = 2)
使用的次数 = 读 (“剩余使用次数”)
.如果 (使用的次数 < 1)
信息框 (“签名文件使用次数已经为:0 !”, 0, )
返回的数据 = 0
.否则
到首记录 ()
使用的次数 = 读 (“剩余使用次数”)
写 (“剩余使用次数”, 使用的次数 - 1)
返回的数据 = 1
.如果结束
.默认
.判断结束
.否则
信息框 (“签名文件错误,授权方式不正确!”, 0, )
返回的数据 = 0
.如果结束
.否则
信息框 (“签名单位错误,请使用正确的签名授予单位的程序!”, 0, )
返回的数据 = 0
.如果结束
返回 (返回的数据)
======================================================================
温馨提示:答案为网友推荐,仅供参考