以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  DecryptText的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=4692)

--  作者:reachtone
--  发布时间:2009/10/20 13:49:00
--  DecryptText的问题
我在做一个注册窗口,思路是这样的:
开发者根据用户的ComputerID给其提供注册码,用户将注册码输入完成以后,自动保存到一个文本文件中。
以后每次项目运行时,首先去读这个文件中的注册码,然后解密再跟ComputerID比较,如果正确就可以正常进入项目。

现在的问题是,如果用户保存的注册码是错误的,而项目还用原来的密钥解密的话,项目就会出错!用户输入错误的注册码是很正常的,DecryptText如果不能正常解密,返回空值就是了,为什么总报错呢?这样一来,根本就无法解密并验证了。

这是例子,注意看AfterOpenProject中的事件设置:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目10.table

[此贴子已经被作者于2009-10-20 13:50:13编辑过]

--  作者:yangming
--  发布时间:2009/10/20 13:53:00
--  
这个问题一直存在,我发现,如果位数正确,但密码不对,还不会报错,如果位数不对,就会报错,而我自己做的提示都没有用
--  作者:reachtone
--  发布时间:2009/10/20 13:58:00
--  
以下是引用yangming在2009-10-20 13:53:00的发言:
这个问题一直存在,我发现,如果位数正确,但密码不对,还不会报错,如果位数不对,就会报错,而我自己做的提示都没有用

为什么老六一直不解决啊?我这是到最后了,项目要交付了,才做这个注册功能的。
提示的错误也好多种:


图片点击可在新窗口打开查看此主题相关图片如下:2.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:3.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2009-10-20 13:58:20编辑过]

--  作者:狐狸爸爸
--  发布时间:2009/10/20 14:39:00
--  

我看看,不过我也是用Try和En Try解决。

你也可以这样


        Try
            \'原来的代码
        Catch ex As Exception
            MessageBox.Show("错误注册码")
        End Try


如果不要任何提示:

        Try
            \'原来的代码
        Catch ex As Exception

        End Try


--  作者:yangming
--  发布时间:2009/10/20 14:42:00
--  
以下是引用狐狸爸爸在2009-10-20 14:39:00的发言:

我看看,不过我也是用Try和En Try解决。

你也可以这样


        Try
            \'原来的代码
        Catch ex As Exception
            MessageBox.Show("错误注册码")
        End Try


如果不要任何提示:

        Try
            \'原来的代码
        Catch ex As Exception

        End Try

有空我试试


--  作者:reachtone
--  发布时间:2009/10/20 15:32:00
--  
多谢老六指点,问题已解决!
又来一个问题:明明是先关闭窗口、再弹出对话框的,为什么窗口还是没有完全关闭呢?注册窗口是在AfterOpenProject中打开的。

图片点击可在新窗口打开查看此主题相关图片如下:4.jpg
图片点击可在新窗口打开查看

确定按钮的代码是这样的:

图片点击可在新窗口打开查看此主题相关图片如下:5.jpg
图片点击可在新窗口打开查看
--  作者:狐狸爸爸
--  发布时间:2009/10/20 16:00:00
--  
e.Form.Close
Application.Doevents
MessageBox.Show(....)

--  作者:reachtone
--  发布时间:2009/10/20 16:04:00
--  
以下是引用狐狸爸爸在2009-10-20 16:00:00的发言:
e.Form.Close
Application.Doevents
MessageBox.Show(....)

学了一招!
Application.Doevents原来还可以用在这里!


--  作者:reachtone
--  发布时间:2009/10/20 16:10:00
--  
按7楼的方法设置了,无效。
--  作者:czy
--  发布时间:2009/10/20 22:31:00
--  
模式窗口引起的。
如果这样显示着丢失控件后的窗口,还不好改成。

MessageBox.Show()
e.Form.Close()

……