Dephi5中资源文件的创建和使用

1. Visual Basic 中 ActiveX 控件的制作
  ActiveX 是 Microsoft 的术语,它是一组包括控件、DLL 和 ActiveX 文档的组件,他通常是以动态连接库形势存在,因此必须在一个叫容器的可独立执行的软件中运行,比如 VisualBasic,VisualC++,Internet Explorer 等。因此 ActiveX 控件和容器必须都支持一些特定的接口协议。ActiveX 应包括属性,事件和方法这些特殊机制,它也是创建 ActiveX 控件的核心。
  从 VisualBasic5.0开始,我们就可以用 VB 创建控件,VB6.0继承了 VB5.0的开发第三方控件的能力。创建 ActiveX 控件有一定的步骤:
  (1)确定控件将要实现的功能。这一步很重要,在这里我们应该确定控件的外观,以及它的属性、事件和
方法。
  (2)通过 UserControl 对象设计控件的外观。
  (3)将代码添加到 UserControl 来实现控件的外观和行为。
  (4)设计控件的接口,即属性、事件和方法。
  (5)创建 VB 的 Standard.EXE 工程,利用他调试制作的控件。
  (6)编译控件部件,生成.ocx 文件。(在"文件"菜单, 有"生成 DataTimer.ocx"选项)
制作 DLL 文件的方法类似。
  注册控件的方法:
  方法一、Regsvr32.exe 注册,Regsvr32.exe 位于 Windows 目录的 system 子目录下。点击 Windows 的"开始→运行"菜单,在对话框中输入以下命令:
  regsvr32 netshare.ocx //注册 netshare.ocx 控件
  regsvr32 /u netshare.ocx //解除 netshare.ocx 控件的注册
  方法二、新建注册文件,进行添加右键注册和解除的选项。
  新建一TEXT文件,输入以下内容:
  Windows Registry Editor Version 5.00  
  [HKEY_CLASSES_ROOT/ocxfile/shell]
  [HKEY_CLASSES_ROOT/ocxfile/shell/注册]
  [HKEY_CLASSES_ROOT/ocxfile/shell/注册/command]
  @="regsvr32 %1"
  [HKEY_CLASSES_ROOT/ocxfile/shell/反注册]
  "Command"="regsvr32 %1 /u"
  [HKEY_CLASSES_ROOT/ocxfile/shell/反注册/command]
  @="regsvr32 %1 /u"
  然后保存成 REG 文件,双击执行,即完成添加此功能。

  2.制作 CAB Internet 包
  VB6 可以很方便的编写 OCX 控件及 DLL 组件,要在网站中使用 DLL 组件的使用很简单,直接在 ASP 中使用 Server.CreateObject("工程名.组件名")可以在服务器端调用该组件。而 OCX 使用则因为需要下载到客户端而变得复杂些,要打包成 CAB 文件进行调用。CAB 文件是一种 WINDOWS 的标准压缩格式文件,在网页上发布 ActiveX 的时候经常使用该压缩格式对文件进行包装,目的是使文件便于在 Internet 上传输。

  创建 CAB 文件的方法有很多,以下是应用 VB6 实现打包。
  OCX 打包成 internet 包步骤:
  (1)启运打包程序:菜单"外接程序"-》"外接程序管理器"-》启用"打包和展开向导"
  (2)开始打包:菜单"外接程序"-》"打包和展开向导",打包成 internet 包:选"打包",在选择包类型时选"internet 软件包"....
在 CAB 包中可以包括所有此控件中使用到的 DLL 文件。
除了在 VB6中进行打包外,还可以在 Microsoft visual studio .Net 2003中"创建 CAB 项目"。
对单一的 OCX 文件打包,也可以用 WINDOWS 自带的 iexpress.exe(c:/windows/system32 目录下),在开始菜单->运行里输入 iexpress。

  3.为 CAB 进行签名
  通过 Microsoft 的验证代码工具,可以对 ActiveX 控件进行签名,这告诉用户你的确是控件的作者而且没有他人篡改过这个控件;
  为了使用验证代码工具对组件进行签名,必须从证书授权机构获得一个数字证书;证书包含表明特定软件程序是正版的信息,这确保了其他程序不能再使用原程序的标识。证书还记录了颁发日期。当您试图下载软件时,Internet Explorer 会验证证书中的信息,以及当前日期是否在证书的截止日期之前。如果在下载时该信息不是最新的和有效的,Internet Explorer 将显示一个警告;
  在IE默认的安全级别中,ActiveX 控件安装之前,用户可以根据自己对软件发行商和软件本身的信任程度,选择决定是否继续安装和运行此软件。
  网络实名插件使用了国际权威安全厂商 Verisign 所颁发的数字证书进行签名,因此可以确保网络实名插件的真实性和安全性。
  使用 Microsoft visual studio .Net 2003开发工具。所以你必须拥有 Microsoft visual studio .Net 2002以上版本的环境。
  1、 获得软件发行证书
  第一步:开始菜单->运行,输入 cmd.exe。打开 windows 2000的命令提示符环境窗口。
  第二步:输入 CD C:/Program Files/Microsoft Visual Studio .NET 2003/SDK/v1.1/Bin,进入该目录,用 dir 命令你可以看到 signcode.exe、makecert.exe 和 cert2spc.exe 程序。注意:以上路径根据你机器 Microsoft.Net 的安装路径不同而异。
  第三步:创建用于数字签名的公钥和私钥对,并将其存储在证书文件中。
  输入 makecert -sk FortuneAge -n "CN=FortuneAge COMPANY" c:/FortuneAge.cer。
  就会在你的 C:生成 FortuneAge.cer 文件。
  说明:参数-n 指定主题的证书名称。此名称必须符合 X.500 标准。最简单的方法是在双引号中指定此名称,并加上前缀 CN=;例如,"CN=myName"。注意这里的 CN 必须大写。-sk指定主题的密钥容器位置,该位置包含私钥。如果密钥容器不存在,系统将创建一个。输入 makecert -?可以查看其他参数的用法。
  第四步:创建发行者证书 (SPC)。
  注意,发行者证书测试工具通过一个或多个 X.509 证书创建发行者证书 (SPC)。Cert2spc.exe 仅用于测试目的。可以从证书颁发机构(如 VeriSign 或 Thawte)获得有效的 SPC。
  输入命令:cert2spc c:/FortuneAge.cer c:/FortuneAge.spc,在 C:盘生成证书文件。至此,你已经拥有了仅用于测试的软件证书。其实,我们开发的程序或 ActiveX 控件只要仅用于企业内部,完全可以用这种办法作数字签名,使你的控件可以在浏览器里自动下载,而不必去专门的证书办法机构获得证书。
第五步:在上面打开的 dos 窗口里,输入如下命令:signcode /spc c:/FortuneAge.spc /k WHX c:/scan.cab。至此,已经对成功对 can.cab 文件签名。可以查看文件的属性,查看数字签名。

  4.在 WEB 上的调用
  在 HTML 页面中使用 ActiveX 控件包含三个基本操作:将控件放入 HTML 中;将该控件下载给用户;在用户机器上安装该控件。如果只是针对 IE 用户,在 HTML 中插入 ActiveX 控件就比较简单;如果同时兼顾 IE 和 Netscape 用户,则要做更多工作。大家知道,HTML 文件由文本和各种标志(tags)组成,ActiveX 控件对于 IE 在 HTML 中的标志是<OBJECT>,该标记有几个重要的参数特性,它们是:
  1.ID:为控件提供一个标识名称,为 HTML 代码提供一种访问该控件的方式。
  2.CLASSID:是该控件唯一的 UUID,告诉 IE 装入哪个对象。如果使用已经开发好的控件,它的 CLASSID 可以通过调用 Win95或 NT 下的应用 Regedit 来查找。从开始菜单中运行该程序,展开 HKEY_CLASSES_ROOT 项,可以看到按字母顺序排列的注册表,找到需要使用的控件名,例如 WClnt,展开时可看到一个 CLSID 文件夹,里面就是该控件的 CLASSID。
  如果是自己用 VC 开发控件,该 UUID 可以在 ActiveX 控件项目中的 ODL(对象描述库)文件中找到;通过查看控件的类信息注释来定位特定控件的 UUID,例如,要找到 CMyControl 控件的 UUID,则需要找到以下代码:
  // Class information for CMyControl
  [uuid (051C4748-1262-11D2-87C1-00A024D948FB),
  licensed,
  helpstring("CmyControl Control"), control ]
  uuid 后面括号中的内容就是该控件的 UUID。
  3.CODEBASE:如果在用户机器上没有控件的当前版本,该参数告诉用户浏览器在哪里可找到要下载的控件和最新版本号.当控件作了修改后,可以更改版本号强制用户重新下载。
  4.PARAM:该标记用于设置控件的初始属性值,它有两个特性:Name 和 Value,即属性名称和属性值。
  此外还有一些标记,如:Width 表示该控件所占的宽度,Height 表示高度等,总体来说,这样一个插入控件的 HTML 代码和插入 Java Applet 的 HTML 代码非常相似。
  下面是一个嵌有 ActiveX 控件的 HTML 代码示例:
<OBJECT ID="CMyControl" CLASSID="clsid:051C4748-1262-11D2-87C1-00A024D948FB" CODEBASE="
http://www.mysite.com.cn/ocxdir/mycontrol.ocx#version=1,0,0,1" WIDTH=400 HEIGHT=200 ALIGN=center HSPACE=0 VSPACE=0 > </OBJECT>
CODEBASE 的设置中,若 CAB 文件与该 WEB 文件保存在同一目录下,只需写其文件名即可,即CODEBASE="mycontrol.ocx#version=1,0,0,1";#号代表此控件的版本,如果版本不同,客户端的浏览器自然会下载更新。
  如果希望控件还能在 Netscape 中运行,除了 Netscape 需加装插件外,HTML 也要加一些附加标记,下面的例子中 EMBED 段就是为 Netscape 加上的。如果使用 MFC 开发 OCX 控件,则少数用户第一次访问时除了下载 OCX 文件外,还要下载相应的 MFC DLL,下载量变大,这时可将相关文件在服务器端打包成可以在客户端自解压安装的 CAB 文件。经过修改后的 HTML 代码段如下:
<ALIGN="CENTER" CLASSID="clsid:
7BCA18C6-2178-11D2-87C1-00A024D948FB"
WIDTH="1200" HEIGHT="900" ID="marquee"
CODEBASE="
http://218.168.188.188/scadaweb/
WClnt.cab#version=1,0,0,1">
<EMBED ALIGN="CENTER"CLASSID="clsid:7BCA18C6- 2178-11D2-87C1-00A024D948FB"
WIDTH="1200" HEIGHT="900" ID="marqueequot;"
CODEBASE="
http://218.168.188.188/scadaweb/
WClnt.OCX#version=1,0,0,1"
TYPE="application/oleobject" >

  5.结束语
  在 WEB 中开发控件的大致流程已公布,但它的设计和实现方法多种多样。WEB 控件的制作的针对方向为在客户端的服务,如客户端打印、扫描等功能。若果是提供服务器端的控件调用,可以研究一下 WEBSERVER。
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Delphi XE作为一个强大的开发工具,可以用于创建Android应用程序。在Delphi XE中,我们可以使用源文件来存储和管理应用程序中的各种资源,如图像、音频和文本等。下面是使用源文件进行Android开发的步骤: 1. 在项目创建一个资源文件:在Delphi XE的菜单栏中选择"File",然后选择"New",再选择"Other"。在弹出的对话框中选择"Resource File",并输入一个文件名以保存资源文件。 2. 向资源文件中添加资源:双击资源文件,然后在打开的资源编辑器中点击"Add"按钮。可以选择添加图像、音频、文本等资源。选择要添加的资源后,点击"OK"按钮。 3. 使用源文件:在项目使用源文件的资源,需要在程序中使用ResXFileRef组件。在程序中添加一个TResStreamAdapter组件,并将其FileName属性设置为要使用的资源文件的名称。然后,将需要的资源存储在一个TResourceStream变量中,通过调用ResXFileRef组件的SaveToStream方法。 例如,将图片资源存储到TImage组件中: ```delphi var ResStream: TResourceStream; begin ResStream := TResourceStream.Create(hInstance, 'ResourceName', RT_RCDATA); try Image1.Picture.LoadFromStream(ResStream); finally ResStream.Free; end; end; ``` 这样,资源文件中的资源就可以在应用程序中使用了。 总结:使用Delphi XE进行Android开发时,可以通过创建源文件并将所需资源添加到其中来管理和使用应用程序的资源。通过调用TResStreamAdapter组件和相关方法,可以在应用程序中使用源文件中的资源。这样,开发者可以更方便地管理和调用应用程序所需的各种资源。 ### 回答2: 在Delphi XE中进行安卓开发时,可以使用源文件来存储和管理应用程序使用的各种资源。资源文件可以是图片、音频、视频、文本文件等。 首先,在项目创建一个资源文件,这可以通过在项目中点击“项目”菜单,然后选择“添加到项目”中的“资源”选项来完成。 在资源文件中,你可以添加各种资源,如图片、音频等。 然后,在代码中使用这些资源文件中的资源。 1. 你可以使用代码访问并加载资源文件中的图片到你的应用程序中,使用`TImage`控件的`Bitmap.LoadFromResourceName`方法来加载资源图片,例如: ```delphi Image1.Bitmap.LoadFromResourceName(HInstance, 'MyImage'); ``` 其中,`MyImage`是你在资源文件中添加的图片资源的名称。 2. 你也可以使用代码访问资源文件中的文本文件,使用`TResourceStream`类来加载资源文件中的文本内容,例如: ```delphi var ResStream: TResourceStream; Text: TStringList; begin ResStream := TResourceStream.Create(HInstance, 'MyText', RT_RCDATA); try Text := TStringList.Create; try Text.LoadFromStream(ResStream); // 使用Text变量中的文本内容进行接下来的操作 finally Text.Free; end; finally ResStream.Free; end; end; ``` 其中,`MyText`是你在资源文件中添加的文本资源的名称。 通过使用源文件,你可以方便地管理应用程序中使用的各种资源,并在代码中灵活使用这些资源。 ### 回答3: 在Delphi XE中,我们可以使用源文件来存储和管理Android应用程序所需要的各种资源,如图像、音频、视频等。以下是使用源文件进行Delphi XE安卓开发的步骤: 1. 打开Delphi XE,并创建一个新的FireMonkey移动应用程序项目。 2. 在项目结构中,右键单击"Android"节点,选择"添加"->"新建"->"资源文件"。 3. 在资源文件编辑器中,可以添加和管理资源。点击"添加"按钮,选择要添加的资源类型(如图像、音频等),然后将所需的资源文件添加到资源文件列表中。 4. 在代码中使用资源:在需要使用资源的地方,通过使用TStyleBook、TImage、TMediaPlayer等组件,将资源文件中的资源加载到应用程序中。例如,可以使用TImage组件来显示资源文件中的图像。 5. 在应用程序启动时加载资源:可以使用FMX.Platform.TFMXApplicationEvent组件来在应用程序启动时加载资源。创建一个事件处理程序,在该事件处理程序中使用TResourceStream类来加载资源文件中的资源。 6. 构建和部署应用程序:选择目标为Android,然后构建和部署应用程序到Android设备或模拟器上。 以上是使用源文件进行Delphi XE安卓开发的基本步骤。通过使用源文件,我们可以更方便地管理和使用应用程序所需的各种资源,提高开发效率和代码可维护性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值