找回密码
 立即注册

QQ登录

只需一步,快速开始

唐杰

最新发帖
iceman
社区贡献组   /  发表于:2012-9-20 19:14:00
11#
回复 10楼唐杰的帖子

好的,我会根据你的信息进行测试,明天回复。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-9-25 10:17:00
12#
回复 10楼唐杰的帖子

唐先生 你好,
问题的原因已经查明。
原因如下:
Demo 使用 微软暴露出的 DesignSurface 创建了简单的 IDE。在Demo 程序运行后,拖拽 C1FlexGrid 到 DesignSurface ,是 DesignTime 行为,所以程序会去注册表中找 License 文件信息,如果没有找到,则弹出提示框。
解决方法:
判断如果拖拽实例为 C1FlexGrid ,则使程序更改到 Runtime 状态,这样程序就会在资源文件中查找 License。
Demo 中是我更改的正确结果,请参考:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
唐杰
银牌会员   /  发表于:2012-9-25 15:42:00
13#
回复 12楼iceman的帖子

你好,我有两个疑问 麻烦你给解答下哦。
1.使用什么方法判断使用了C1控件。
  注:字符串盘点是实现不了的,我们的项目内控件是在C1基础上进行封装的。
2.改为Runtime时 会有什么弊端吗?
3.能有更好的解决方案吗?我们看了下目前你们的方案是改动LicenseManager里面的一个私有字段来实现的,感觉不是很常规的解决方案。
回复 使用道具 举报
唐杰
银牌会员   /  发表于:2012-9-25 16:49:00
14#
回复 12楼iceman的帖子

1.你们能把注册表里面的信息给我吗?我们安装时往注册表内写入这些信息。
2.特别是当我们把N个C1控件放入UserControl里时,这时候判断起来是很麻烦的哦
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-9-25 17:48:00
15#
回复 14楼唐杰的帖子

唐先生 您好,
需要确认下您的使用方法:
    请问是要把 C1FlexGrid 封装后,作为控件产品发布吗?这里指的是可以添加到 IDE 中的控件。
回复 使用道具 举报
唐杰
银牌会员   /  发表于:2012-9-26 09:05:00
16#
回复 15楼iceman的帖子

是的。我们是将C1控件封装成UserControl后按照demo中的方式使用的。但是不仅限于C1FlexGrid。所以你的方法我们不好判断。
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-9-26 11:35:00
17#
回复 16楼唐杰的帖子

唐先生 您好,
我这边推测您那边的使用方式可能为以下三种:

1. C1 封装到 UserControl 中,发布产品,使用户可以添加到 VS IDE 中,需要在每台使用该 UserControl 的机器上安装正式版 C1。
2. C1 封装到 UserControl 中,在使用 DesignSurface  ,那么即被认为是 DesignTime,就会到注册表中找 License 信息。这是微软的license机制。无法更改这个动作,所以没有找到其他解决方法。
3. C1 封装到 UserControl 中, 不在 DesignSurface 或 IDE 设计时使用,可行。

同样,我们的授权机制是按照开发单位授权的,如果在设计时(VS 或 DesignSuiface 等)使用 C1 产品,那么即视为一个开发单位。就需要在机器上安装正式版 C1。

以上
谢谢
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部