提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:王香|2019-01-31 10:16:32.000|阅读 269 次
概述:本节介绍了为符合TeeChart设计时和运行时授权体系结构而要采取的配置元素和设置步骤。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
本节介绍了为符合TeeChart设计时和运行时授权体系结构而要采取的配置元素和设置步骤。
TeeChart使用基于Microsoft的System.Component.LicenseProvider类的授权证控制。当通过TeeChart安装程序安装TeeChart时,会添加一个注册表授权证密钥,其可见部分可以在HKEY_LOCAL_MACHINE \ SOFTWARE \ Steema Software \ TeeChart.NET密钥下看到:
密钥的存在以及相应的“未发布”密钥代码允许在Visual Studio.NET的设计时使用TeeChart,并允许将密钥编译为运行时可执行(.exe)和库(.dll)文件,以便TeeChart.dll和TeeChart.languages.dll文件可以与已编译的应用程序一起分发,但不提供TeeChart选项作为安装位置的设计时组件。
包含TChart,Chart或WebChart组件的项目必须包含Licenses.licx文件。当向其添加任何图表时,Visual Studio IDE会自动将该文件添加到TChart(Windows表单图表)或WebChart(Web表单图表)项目中。对于非设计时图表应用程序,例如,在运行时手动创建图表 “Steema.TeeChart.Chart c = new Steema.TeeChart.Chart();” ,然后您必须手动将授权证文件添加到项目,您可能使用的示例文件包含在Utils文件夹中。您可以通过在VS.NET解决方案资源管理器中选择项目并单击鼠标右键单击“ 添加 ”来添加它 AddExisting Item ',文件类型为'All files',并选择'Utils \ Licenses.Licx'。
如果您已将带有授权证的TeeChart成功编译到dll中,请注意,如果您在另一个应用程序中使用该dll,则需要确保将TeeChart授权证行添加到最终应用程序的Licenses.licx文件中即使该应用程序本身可能没有直接引用TeeChart。如果最终用户应用程序不是在Visual Studio .NET中开发的,那么在最终编译时不需要授权证文件和授权证本身。
如果您在具有开发人员授权证的计算机上不会重复使用您的DLL的环境中工作,请确认重用是否可能属于“插件使用”的范围,如下一节所述,在插件dll中使用TeeChart。如果您认为您的程序集(使用TeeChart)需要由具有TeeChart类和方法知识的容器重新使用或需要引用程序集,但是在没有TeeChart Developer License的计算机上请确认相关机器已获得在设计时使用TeeChart的授权。某些分销或团队工作情况可能需要通过特殊授权条件来解决,Steema人员在info@steema.com可以帮助进行授权证查询。
标准版的TeeChart for .NET支持授权控制,以便在动态加载的插件中使用。该插件通常是一个包含TeeChart的程序集,可以在运行时由容器应用程序使用NET的“Assembly.Load”方法或类似方法动态加载。要允许容器应用程序加载和运行TeeChart而不需要容器级别的licenses.licx文件,TeeChart提供了一个默认构造函数的替代方法,通过该构造函数,编译它的dll程序集将自身作为参数传递,并在该级别进行授权证检查不在容器应用程序的DLL。请注意,容器应用程序可能无法直接向TeeChart进行代码调用。它可以打开并运行TeeChart dll,而dll本身就是自治的,可以自己调用TeeChart。允许从容器应用程序进行Chart调用的规则的例外是,如果TeeChart的方法被可以在独立接口中定义的方法“包装”(次要调用)。可以修改此处描述的示例以包括此类调用。
包含TeeChart的插件会在创建时加载TeeChart将其自身作为参数传递。只有在第一次打开TeeChart时才需要使用重载的构造函数,以允许进行授权证检查。此后,可以通过常规手段使用TeeChart。使用的一个例子如下。在此示例中,TeeChart的“虚拟”创建在表单创建时强制执行初始授权证检查。
例: 在此示例中,PluginShared.Factory是由宿主应用程序引用的接口,它提供了一个名为“CreateForm”的方法。容纳TeeChart的程序集实现了PluginShared.Factory,因此也提供了CreateForm方法,但它有自己的实现(在其中加载TeeChart)。主机识别CreateForm方法调用,而无需了解TeeChart特定程序集。
请注意。容纳TeeChart的程序集必须包含Licenses.licx文件,并在具有有效TeeChart开发人员授权证的计算机上进行编译。
装配外壳TeeChart(例如PluginWithTeeChart.dll)
Class:
namespace Plugin { public class FactoryImpl : PluginShared.Factory { public System.Windows.Forms.Form CreateForm() { try { return new PluginWithTeeChart.FormWithChart(); } catch (Exception e) { MessageBox.Show("failed to create plugin with error: " + e.ToString()); return null; } } } }
Form:
namespace PluginWithTeeChart { public partial class FormWithChart : Form { public FormWithChart() { //discardable Chart forces License check Steema.TeeChart.TChart tempChart = new Steema.TeeChart.TChart(this); tempChart = null; InitializeComponent(); //<---- Normal application code. Could run here various TeeCharts without need for overloaded constructor } } }
容器应用程序(例如HostApp.exe)
容器可能按以下方式装载TeeChart外壳组件(dll)。HostApp引用发布CreateForm方法的公共接口Plugin.FactoryImpl非常重要。
void LoadTeeChartPlugin(string pluginName) { string pluginName = @".dll"; try { Debug.WriteLine("Loading plugin assembly " + pluginName); Assembly assembly = Assembly.LoadFrom(pluginName); string factoryTypeName = "Plugin.FactoryImpl"; Type t = assembly.GetType(factoryTypeName); if (t == null) { MessageBox.Show("Type: " + factoryTypeName + " not found in plugin assembly"); return; } PluginShared.Factory factory = (PluginShared.Factory)assembly.CreateInstance(t.ToString()); System.Windows.Forms.Form f = factory.CreateForm(); f.ShowDialog(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
VC ++中的授权实现并不像其他.NET编程语言那样透明。您可以按照Tim Adler在microsoft.public.dotnet.framework新闻组中描述的步骤成功实施VC ++项目的授权。
“我的解决方法很简单:创建一个新的解决方案,并在其中一个新的C#项目,使用SAME应用程序名称作为您的C ++应用程序。创建一个虚拟表单并将需要授权的每个组件放到此表单上。或者,编辑licenses.licx文件,自动生成以引用每个组件。然后构建应用程序。然后导航到调试目录并将“* .licenses”文件复制到C ++应用程序的基本目录中。然后在项目选项下 - >链接器 - >输入 - >嵌入C ++应用程序的托管资源文件设置,请参阅此授权证文件。然后执行'重建'。“
Steema.TeeChart.Chart, TeeChart Steema.TeeChart.TChart, TeeChart Steema.TeeChart.Web.WebChart, TeeChart
内容应至少包括项目创建的类的名称,通常是基于Windows窗体的项目的Steema.TeeChart.TChart,以及用于按代码和Steema.TeeChart创建图表的项目的Steema.TeeChart.Chart。 Web.WebChart用于包含TeeChart的WebChart组件的WebForm项目。 将图表添加到表单NET时,会自动添加稍长的版本,也是正确的,包括程序集版本号和公钥。
Steema.TeeChart.TChart, TeeChart, Version=1.1.1864.22788, Culture=neutral, PublicKeyToken=9c8126276c77bdb7
向旧的“非授权”项目添加授权证支持
请注意,对于使用以前版本的TeeChart创建的表单应用程序,授权证文件不存在,您可以通过将“工具”调板的“Steema”部分中的“图表”拖动到任何文件来快速生成它。项目的表格,然后删除它。新拖动的图表会激发IDE添加Licenses.licx文件。
使用Licenses.licx文件编译的项目的.exe或.dll可以作为运行时应用程序与TeeChart.dll(以及TeeChart.Languages.dll文件,如果需要)一起分发,而无需任何TeeChart要安装的运行时授权证文件或注册表项。
我们看到的可能的错误情况是: - 编译时出现错误消息:
“无法将授权证文件'licenses.licx'转换为二进制资源。” 可能的原因是开发授权证注册表项未到位。请检查本章中描述的可见密钥条目,以查看其中是否存在任何明显的问题或遗漏。解决问题的一个选项是使用TeeChart安装程序重新安装TeeChart,安装程序会设置注册表项。如果问题仍然存在,请通过支持论坛联系TeeChart支持。
- 尝试在未安装designkey的计算机上运行编译(运行时)输出应用程序时出现授权证错误。 检查项目是否包含Licenses.licx文件。将图表添加到表单时可能已自动添加,或者可能已手动添加。在任何一种情况下,请确认项目中的Licenses.licx文件是否为嵌入式资源。您需要激活“显示所有文件”以在项目的“解决方案资源管理器”窗口中查看Licenses.licx的存在。
- 问题的另一个可能原因是licenses.licx文件内容不正确。请检查内容是否反映了本章前一部分中描述的内容。
自定义主题是小* .xml文件,可以通过简单的代码行创建:
tChart1.Export.Theme.Save(@ “C:\ Steema \ MyTheme.xml”); 此自定义主题封装了许多与图形,画笔和笔的颜色以及面板,轴,页眉,页脚,图例等样式相关的图表图形设置。创建后,这些主题可以显示在图表编辑器的主题选项卡中,名称出现在那里作为文件的名称。为了使图表编辑器知道在哪里查找这些文件,有一个注册表设置,它指定本地机器上的文件夹:
[HKEY_LOCAL_MACHINE\SOFTWARE\Steema Software\TeeChart.NET] "ThemeFolder"="C:\Program Files\Steema Software\TeeChart for .NET v3\Themes"
只需将自定义主题(* .xml文件)添加到此键中指定的文件夹,图表编辑器就会读取并显示它们。
TeeChart标准商业版通过nuget.org网站作为评估装配提供,功能齐全,在图表面上显示水印。注册授权证时,会向被授权方提供名为teechart.licenses的授权证文件。此文件可能包含在项目中以激活授权证并隐藏评估水印。
teechart.licenses可能包含在项目中,如启动指南中所述:https ://www.steema.com/linkIn/tnetstd_startup
一旦包含在项目中并与其正确关联(例如,添加为一个项目的嵌入式资源)然后该应用程序在技术上准备分发。
购买TeeChart Pro AciveX正版授权,请点击“”哟!
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@capbkgr.cn
本文将演示如何使用DevExpress WPF Grid控件实现列和带的固定,欢迎下载最新版组件体验!
在本文中,我们将探讨如何通过使用 JxBrowser 和 Quill.js 将现代富文本编辑器嵌入到 Java 桌面应用程序中,来克服 Swing、JavaFX 和 SWT 中内置编辑器的局限性。
Word 文档中的批注通常用于协作审阅和反馈。这些批注可能包含文本和图片,它们为文档改进提供了重要的参考信息。本文将演示如何使用 Spire.Doc for Java 在 Java 中提取 Word 文档中的批注文本和图片。
本文主要介绍如何使用DevExpress WinForms Data Grid组件实现列重新排序,欢迎下载最新版组件体验!
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@capbkgr.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢