Foxtable(狐表)用户栏目专家坐堂 → [求助]尝试读取或写入受保护的内存。这通常指示其他内存已损坏


  共有5175人关注过本帖树形打印复制链接

主题:[求助]尝试读取或写入受保护的内存。这通常指示其他内存已损坏

帅哥哟,离线,有人找我吗?
有点甜
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/22 9:42:00 [显示全部帖子]

1、可以把间隔弄大一点测试;

 

2、进入执行的时候,有可能计划需要执行的时间超过1秒,超过1秒后,又会重新开启一个或者多个计划,导致冲突的。

 

进入计划后,把计划关闭,如 mytimers("计划1").Enabled = False

 

执行到最后,写代码开启 mytimers("计划1").Enabled = True


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/22 14:24:00 [显示全部帖子]

在计划那里写代码,如

 

mytimers("计划1").Enabled = False

'本来代码

mytimers("计划1").Enabled = true


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/23 21:25:00 [显示全部帖子]

我没有插上加密狗,测试没有报错。

 

你试试改成这样测试

 

Declare Function et_Verify Lib "FT_ET99_API.dll" (ByVal et99handle As Long, ByVal et99flag As Integer, ByRef et99pin As Stringbuilder) As Long

 

-----------------

 

Dim PID As String = "1Q2W3E4R"   '这是随便写的8位字符串,它要用狗的产生方法产生,在没插狗的情况下,本无意义
Dim n As Integer
Dim Upin As String = "IUHJHJODAHFOIUQWELJADFIO09ER089724502875"   '这是随便写的字符串,在没插狗的情况下,本无意义
Dim hl As Long

et_FindToken(pid , n )
MessageBox.Show("检测狗完成")

et_OpenToken(hl , pid , 1)
MessageBox.Show("打开狗完成")

Dim sb As new Stringbuilder
sb.append(Upin)
et_Verify(hl , 0, sb)  '我在插上狗,PID和UPIN都正确的情况下,前两步都顺利完成,但这一步就报错了
MessageBox.Show("验证用户ID完成")

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/23 22:04:00 [显示全部帖子]

有没有c#的实例?

 

http://converter.telerik.com/

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/24 9:45:00 [显示全部帖子]

那,请转换成vb.net代码后测试即可。

 

http://converter.telerik.com/

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/24 10:25:00 [显示全部帖子]

1、改成类似这样的,如

 

Declare Function et_Verify Lib "FT_ET99_API.dll" (ByVal hHandle As IntPtr, ByVal Flags As Integer, ByVal pucPIN As Byte()) As UInteger

 

2、对应的调用,也用byte()处理,如

 

Dim bytPIN As byte() = System.Text.Encoding.ASCII.GetBytes(strPIN)


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/24 10:34:00 [显示全部帖子]

1、先修改14楼的测试,看是否可以。

 

2、在这个网站里面转换 http://converter.telerik.com/

 

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/24 11:11:00 [显示全部帖子]

以下是引用chnfo在2019/1/24 11:08:00的发言:
不行。报错了 Byte的1维数组的值无法转换为string 错误代码:result=et_opentoken(Hhandle,bytpid,index)

 

我只叫你修改这个啊

 

Declare Function et_Verify Lib "FT_ET99_API.dll" (ByVal hHandle As IntPtr, ByVal Flags As Integer, ByVal pucPIN As Byte()) As UInteger

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/1/24 11:53:00 [显示全部帖子]

以下是引用chnfo在2019/1/24 11:47:00的发言:
好怪异的做法,直接用VB的不行,用C#转才行

 

vb 和 vb.net 是很很大区别的。vb.net 和 c# 基本相似,只是语法不同而已。

 


 回到顶部