Authorware UCD 开发大揭秘(二)

入   门   篇

- Authorware插件的格式。 

    用过Authorware的朋友可能会注意到在Authorware系统目录下有十几个扩展名为.U32或.UCD的文件,没错,这就是Authorware的插件。其实这些文件的格式是非常标准的Window动态链接库文件,也就是*.DLL这样的文件。Authorware通过在动态链接库文件中访问指定的函数,如果该函数需要参数,则Authorware传递给该文件所访问的函数的所有参数,如果该函数有一个返回值,则Authorware得到该函数的返回值。但是,问题是:Authorware调用这些函数时并不知道该函数的参数或返回值,即便是在Viusal Basic中调用外部函数也需要事先声明函数的表达式,参数和返回值。下面大家就跟我一步一步揭开Authorware插件的奥秘。 

二 字符串资源的奥秘。 

    我想我们最好通过一个实例来说明Authorware是怎样实现的。假设我们现在需要在Authorware中实现这样一个功能:我们用Authorware开发了一个多媒体课件或其他演示软件,不希望有他人偷偷运行这个程序,需要用一个口令输入框来限制一下,而Authorware没有提供相应的功能,现在我们就用Dephi来实现这个功能。现在我们需要创建一个函数来调用输入框,函数原型如下: 

displayinputbox(caption,information,defaulttxt:Pchar):Pchar; 

这里我们需要传递三个参数:caption:输入框标题 

information:提示文字 

defaulttxt:默认文字 

返回值:用户最终输入的文字。 

    因为这里是编写DLL函数,所以字符串类型只能用Pchar,而不能用Dephi的string类型,因为同外部程序进行数据交换需用同C兼容的以零字符结尾的字符串。Authorware插件与普通Dll文件不同的是:它多了一个字符串资源,以上面这个函数为例,该字符串的格式如下:(括号内为注释文字,不加入) 

1 DLL_HEADER LOADONCALL DISCARDABLE (函数原型声明) 

BEGIN 

"displayinputbox/0", ("/0"为供Authorware识别换行用,下同) 

"/0" 

END 


displayinputbox DLL_HEADER LOADONCALL DISCARDABLE (函数参数和返回值说明) 

BEGIN 

"/0", (换行) 

"S/0", (第一个为返回值说明,这里“S/0“表示返回值为字符串类型) 

"SSS/0", (注意这里三个S表示参数为三个字符串类型); 

"result=dispinputbox(caption,tiptxt,defaulttxt)/r/n" (函数调用说明,主要给用户介绍函数用法,它最终显示在Authorware调用函数说明框中) 

"/r/n" (这里空一行) 

"功能:显示输入框。作者:徐进 武汉市武珞路中学. /0" (加入版权信息,同上) 

END 

    好了,现在明白了吧,Authorware识别函数格式的秘密全在这个字符串资源列表中。此外我要说明一下,如果参数或返回值为integer(整型变量)则表示为”I/0”,如果为long(长整型变量)则表示为”L/0”.下面我们要作的事就是赶紧用一个文本编辑器(记事本就行)将上述字符串资源输入,并 保存,我们起名为wresource.rc。找到Dephi系统下Bin目录,用Brcc32.exe文件将 该文件编译成资源文件Awresource.res。方法是在开始菜单中输入命令行”brcc32.exe Awresource.rc”。将生成的资源文件保存到我们马上要开工的Dephi工程文件目录下, 我们就可以开始使用Dephi编写Authorware插件了。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值