Foxtable(狐表)用户栏目专家坐堂 → 有关发布项目注册


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

主题:有关发布项目注册

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


加好友 发短信
等级:三尾狐 帖子:725 积分:6924 威望:0 精华:0 注册:2012/3/1 7:20:00
有关发布项目注册  发帖心情 Post By:2013/4/15 15:26:00 [只看该作者]

开发的狐表项目虽然增加了注册要求,但同时希望即使注册成功后,在打开项目时,软件应自动与发布狐表项目里的“注册表”相核对,如果注册码相同且禁用一栏打钩的,就不能打开狐表,并提示“与开发者联系”字样,这个代码应该怎么写?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:上传狐表.zip


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


加好友 发短信
等级:等待验证 帖子:3855 积分:20692 威望:0 精华:5 注册:2012/6/21 14:03:00
  发帖心情 Post By:2013/4/15 15:30:00 [只看该作者]

用户已被锁定

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


加好友 发短信
等级:三尾狐 帖子:725 积分:6924 威望:0 精华:0 注册:2012/3/1 7:20:00
  发帖心情 Post By:2013/4/15 15:47:00 [只看该作者]

我们公司远程数据库服务器并不在本单位(是租用),想在狐表发布项目里弄个注册表(也采用外部数据源连接远程数据库服务器,并且该表只让开发者打开),这样项目发布给底下员工使用,员工如有发生异常,想通过注册表里禁用实现让该员工所使用的电脑打不开狐表项目,思路是这样,只是不知道程序代码如何写,想让各位大师帮忙出出主意?

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


加好友 发短信
等级:童狐 帖子:268 积分:2227 威望:0 精华:0 注册:2013/2/4 11:02:00
  发帖心情 Post By:2013/4/15 20:18:00 [只看该作者]

这样行不行,你在计划管理里设计代码,每隔一段时间检查一次数据库,通过全局代码里的登录名,两者查询作比较,如果不通过则关闭项目。

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


加好友 发短信
等级:三尾狐 帖子:725 积分:6924 威望:0 精华:0 注册:2012/3/1 7:20:00
  发帖心情 Post By:2013/4/16 15:29:00 [只看该作者]

Dim n As Integer = GetConfigValue("Count",1)
Dim Code As String = GetConfigValue("Register" & ComputerId,"")
Dim Ok As Boolean
Dim dr As DataRow= DataTables("注册表").Find("注册码= 'code'")
If Code > "" AndAlso DecryptText(Code,"cba","cba") = ComputerId Then '如果注册码正确
    OK = True
If dr("禁用") = True AndAlso user.name <> "开发者" Then
 Messagebox.Show("您正在使用的产品已被开发者关闭,请与开发者联系!")
        Syscmd.Project.Exit()
End If
Else
    If n > 1 Then
        Messagebox.Show("请马上注册!")
        Forms("注册表").Open()
        Code = GetConfigValue("Register" & ComputerId,"")
        If Code > "" AndAlso DecryptText(Code,"cba","cba") = ComputerId Then '如果注册码正确
            OK = True
        End If
    End If
    If n > 2 AndAlso Ok = False AndAlso user.name <> "开发者" Then
        Messagebox.Show("您正在使用的产品已经超出试用次数!")
        Syscmd.Project.Exit()
    End If
End If
n = n + 1
SaveConfigValue("Count",n)

系统提示错误如下:

system.nullreferenceException:未将对象引用设置到对象的实例,那程序要如何修改?


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178530 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/4/16 15:34:00 [只看该作者]

dr是空值吧.并没有找到注册码='Code' 的行.所以造成后面对DR的操作报错..可以加个判断如果Dr不是空再执行对应操作.
另外你是 Dim dr As DataRow= DataTables("注册表").Find("注册码= 'code'") 这里是否拼接错了? 是否是想查找注册码=Code变量的行?
如果是.代码应该修改为如下:
Dim dr As DataRow= DataTables("注册表").Find("注册码= '" & code & "'") 

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


加好友 发短信
等级:三尾狐 帖子:725 积分:6924 威望:0 精华:0 注册:2012/3/1 7:20:00
  发帖心情 Post By:2013/4/16 15:43:00 [只看该作者]

测试通过,多谢几位大师指点。

 


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


加好友 发短信
等级:等待验证 帖子:3855 积分:20692 威望:0 精华:5 注册:2012/6/21 14:03:00
  发帖心情 Post By:2013/4/16 15:44:00 [只看该作者]

用户已被锁定

 回到顶部