共计 3266 个字符,预计需要花费 9 分钟才能阅读完成。
VARCHART XGantt 是一个交互式的甘特图控件,其模块化的设计让您可以创建满足您和您的客户所需求的应用程序。(我们领先的甘特图控件 VARCHART XGantt 可用于.NET,ActiveX 和 ASP.NET 应用程序。)感兴趣的朋友可以免费下载来试一试哦~
点击下载 VARCHART XGantt 免费版
本篇文章将向大家展示如何在 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 页面中:
示例代码
<OBJECT ID=”VcGantt1″ WIDTH=700 HEIGHT=350
CLASSID=”CLSID:A4E79A20-C9E1-11CF-BDD7-02608C4302A9″
CODEBASE=”vcgantt.cab#version=4,000,0,0″>
</OBJECT>
该命令指定 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(即,如果不必由脚本决定),您可以通过
示例代码
<OBJECT CLASSID=…>
<PARAM NAME=”ConfigurationName”
VALUE=”http://www.netronic.de/mysample.ini”>
</OBJECT>
注意: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)来实现。服务器端的脚本意味着问题不允许消息框和日志文件之类的简单事件标记脚本中的错误。