Authorware UCD 开发大揭秘(二)
2008-04-09 04:21:46来源:互联网 阅读 ()
- 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插件了。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash