VARCHART XGantt是一个交互式的甘特图控件,其模块化的设计让您可以创建满足您和您的客户所需求的应用程序。(我们领先的甘特图控件VARCHART XGantt可用于.NET,ActiveX和ASP.NET应用程序。)感兴趣的朋友可以免费下载来试一试哦~

本篇文章将向大家展示如何在HTML页面中使用VARCHART ActiveX控件以及如何通过脚本控制它们。存在两种不同的嵌入方式:直接嵌入和嵌入包含VARCHART ActiveX控件的ActiveX控件。前者适用于小型Web应用程序,而对于较大的Web应用程序,您应该开发自己的ActiveX控件,这是大多数开发环境所允许的。

一、限制

与其他应用程序相比,存在一些限制:

  • 使用的客户端需要由Windows操作系统运行,因为它是唯一运行ActiveX控件的系统。服务器不需要这么做。

  • 如果直接嵌入ActiveX控件,则Javascript / JScript(ECMAScript)不适合作为脚本语言,因为它不提供引用参数,这使得无法返回除返回值本身以外的值,例如方法IdentifyObjectAt和大多数事件,例如OnNodeCreate。但是,只由Microsoft Internet Explorer提供的VBScript是合适的。

  • 如果使用ActiveX插件,Mozilla浏览器(包括Firefox和Netscape)和Opera才适用于直接嵌入。有Mozilla ActiveX项目和插件MeadCo Neptune的解决方案,它们独立于浏览器工作。顺便说一下,Mozilla Active X Projext不提供CAB文件的“静默”安装,这是Internet Explorer的默认安装。

请考虑直接嵌入和脚本对VARCHART ActiveX控件的协同管理不能取代实际的应用程序。脚本仅适用于小型应用程序。如果您计划一个更大的应用程序,您应该开发自己的ActiveX控件,例如使用Visual Basic 6.0,其中包含一个或多个VARCHART ActiveX控件。例如,脚本无法访问目标计算机的海量存储,而ActiveX控件能够执行此操作(即使它不应该这样做)。

二、包括直接嵌入的实现

以下部分介绍如何使用脚本语言VBScript将VARCHART ActiveX控件直接实现到Microsoft Internet Explorer中的HTML页面。

ActiveX控件通过OBJECT标记嵌入到HTML页面中:

示例代码


该命令指定VARCHART ActiveX控件的大小和类ID。每个VARCHART ActiveX控件都有一个唯一的类ID,如果之前已在注册表中记录过,就可以通过该类ID进行标识。如果要在没有明确安装的情况下显示ActiveX控件,则将使用代码库参数。它指定关联的安装文件在服务器上的位置。在那里指定的CAB文件由NETRONIC Software GmbH提供。此外,必须指定版本号以确保在目标计算机上没有或只有旧版本时加载和安装控件。

CAB文件由NETRONIC Software GmbH签署,因此当浏览器开始安装控件时,Internet Explorer中的用户将收到有关认证的消息。用于脚本语言的有意识的VARCHART ActiveX控件未被签名为安全控件(“安全脚本”),因为通过导出图表和SaveAs方法可以写入计算机的文件系统。如果您开发自己的ActiveX控件,则应将其签名为安全,以及在脚本语言中使用(例如,通过Visual Basic 6.0的包和部署向导),以确保在Internet上免费使用。

在HTML页面中嵌入VARCHART ActiveX控件后,您现在需要提供自己的配置文件,以使VARCHART ActiveX控件显示所需的外观。为此,您需要一个脚本,其中VARCHART ActiveX控件的属性ConfigurationName指向URL(需要以http://开头),该URI最好描述与其他文件位于服务器上相同目录中的文件。

示例代码

VcGantt1.ConfigurationName =
"http://www.netronic_test.com/xgantt_sample.ini"

请注意,不仅会读取VARCHART ActiveX控件的INI文件,还会读取具有相同名称的IFD文件。两者都必须位于服务器上。可以通过以下方式生成文件:将VARCHART ActiveX控件拖到开发环境中,并通过其属性页对其进行配置。然后通过属性页General保存配置文件。通过这样做,您的许可证也将存储到配置文件中,这对于使用ActiveX控件至关重要。

在编程样本中提供了一个小的Web应用程序。

如果在编写HTML页面时已知INI文件的URL(即,如果不必由脚本决定),您可以通过

示例代码



注意:VARCHART ActiveX控件的旧版本标记为“已授权”,因此在HTML页面中必须解决许可证管理器。这个现在已经被消除了;尽管如此,以前的代码将符合现在和将来的版本。

三、包含间接嵌入的实现

如果您开发自己的包含VARCHART控件的ActiveX控件,就嵌入而言,您可以按照与上述类似的方式继续操作。

此外,对于Internet Explorer中的“静默”自动安装,您需要生成自己的CAB文件。这可以通过前面提到的Visual Basic 6.0的包和部署向导,以及Microsoft Cabinet SDK的免费命令行工具cabarc来实现。CAB文件应包含与VARCHART ActiveX控件一起提供的CAB文件中存在的相同文件。为此,您可以通过商业ZIP工具或cabarc提取CAB文件的内容。安装由INF文件控制,您可以自行调整或由包和部署向导生成该文件。或者,为了生成CAB文件,您可以使用随后的Windows版本提供的工具IExpress,它源自IEAK(Internet Explorer管理工具包)。

此外,您需要对自己的控件和CAB文件签名,因为只有这样才能在Internet Explorer中使用它们(这可能会针对Internet选项菜单中的某些区域进行修改,但通常不需要)。通过从证书颁发机构获取代码签名(列表见下文)并签署DLL、OCX以及最终的CAB文件进行签名。这需要使用Microsoft platform SDK中的免费命令行工具signcode或Microsoft .NET Framework SDK中的signtool 。

四、故障排除

如果在Internet Explorer中执行ActiveX控件时出现问题,Microsoft的免费工具代码下载日志查看器已证明是有用的。它允许跟踪下载过程中不起作用的部分。还可以推荐脚本调试程序,例如免费的Microsoft脚本调试器

从IIS Web服务器下载INI和IFD文件时,请注意,必须通过在选项卡上的Internet信息服务的树视图中调用Web站点的对话框文件类型属性来使Web服务器知道这些文件类型HTTP标头以及将INI和IFD文件类型分配给MIME类型text/plain

不应忽略的是,通常需要调试服务器上的脚本,这可以通过使用Web应用程序的开发环境(例如使用Microsoft FrontPage for ASP)来实现。服务器端的脚本意味着问题不允许消息框和日志文件之类的简单事件标记脚本中的错误。