大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> Script -> 用DELPHI开发AUTHORWARE的u32

用DELPHI开发AUTHORWARE的u32

时间: 2021-07-31 作者:daque

用DELPHI开发AUTHORWARE的u32  因变量功效是authorware最超过的特性,运用authorware供给的体例因变量不妨实行少许搀杂的遏制工作。对于少许特出的工作,authorware承诺用户本人设置因变量,使得步调安排具备更大的精巧性。对于windows体例来说,自设置因变量是以动静链接库(dll)文献保存的,所以保存自设置因变量的文献与暂时交互式运用步调文献是分立。正文引见一下怎样用delphi开拓authorware的自设置因变量—32 bit u32,正文以delphi开拓可在authorware中挪用表露message box的u32为例子。固然authorware attain 5.0已供给了运用knowledge objects 表露message box的功效,但在4.0往日的本子无此功效,这就可用其它谈话开拓本人的u32,在authorware中挪用。   开拓u32可分为五个办法: 创造工程文献创造因变量创造资源文献编写翻译资源文献创造u32   1.创造工程文献   在file/new采用dll天生一个dll文献,在file/add to project….介入一个包括u32因变量代码的单位myunit.pas(此单位在第二步创造因变量中精细证明)在uses后必需证明一切可在authorware中挪用的因变量。比方: exports msgbox;最后的代码如次所似:library authorware;uses  sysutils,classes,  myunit in 'myunit.pas';exports msgbox;beginend.  2.创造因变量   当你创造一个因变量可用在authorware中,必需证明为exported 因变量在要害字interface 反面介入代码如次:  interface   uses ,dialogs,sysutils,windows;          function msgbox(msg:string;mbtype:word;title:string):word;export;delphi32 须要增添{$ifdef win32} stdcall ; ($endif} 在因变量证明反面如:function msgbox(msg:string;mbtype:word;title:string):word;export;{$ifdef win32} stdcall ; {$endif}此刻咱们为因变量介入代码在implementation反面:     const    okonly=0;    okcancel=1;    abortretryignore=2;    yesnocancel=3;    yesno=4;    retrycancel=5;    critical=16;    question=32;    excalamation=48;    information=64;    defaultbutton1=0;    defaultbutton2=256;    defaultbutton3=512;    applicationmodal=0;    systemmodal=4096;function strtopch(str:string):pchar;    var a:pchar;    begin      a:=stralloc(length(str)+1);      strpcopy(a,str);      strtopch:=a;    end;function msgbox(msg:string;mbtype:word;title:string):word; var  lptext,lpcaption:pchar;  h:hwnd;  begin  lptext:=strtopch(title);   lpcaption:=strtopch(msg);    h:=getactivewindow();    msgbox:=messagebox(h,lptext,lpcaption,mbtype);  end;  3.创造资源文献   结果咱们要做的工作是创造资源文献,如许authorware本领径直挪用因变量。必需先创造.rc文献而后编写翻译成.res文献。运用登记本创造.rc的资源文献。介入如次设置:我将在反面证明那些设置: 1 dll_header preload discardable begin      "msgbox\0",      "\0" end msgbox dll_header preload discardable begin      "\0",      "w\0",      "sws\0",      "result := msgbox(msg,mbtype,title)\r\n",      "\r\n",      "show messagebox\0", end  即使一个 dll文献是按authorware挪用变换方法编写,则保存于个中的一切自设置因变量的目次也包括在该文献中,而且authorware在挪用那些因变量时所需的消息也包括在前,其目次称为目次源,并且目次源中的每一个因变量有相映的设置,那些设置称为设置源。简直方法如次:   1. 目次源    目次源的方法如次所示:   | dll_header preload discardablebegin “functionname [=exportname]\0”, “functionname [=exportname]\0”,….“functionname [=exportname]\0”,“\0”end ① | 是目次源操作符; ② dll_header 是用来创造刻画性笔墨的开始标志; ③ begin 表白该目次源文献的发端,而end则表白该目次源的结果。  2.自设置因变量的设置方法   对于目次源中每一因变量都要有一个相映的设置方法,简直方法如次所示:   functionname dll_header preload discardablebegin  “dllfilename\0”  “returnvalue\0”  “argumentlist\0”  “description>”,  “description”,   …  “description\0”end① functionname 指的是在目次源中以设置的因变量名;② dll filename 表白保存因变量的dll文献名;③ returnvalue 表白该因变量归来值典型;④ argumentlist 表白该因变量中的参数典型列表;⑤ description 表白该因变量刻画性正文。刻画性正文不妨有很多行构成,但结果一条龙必需加上“\0”中断符。  3.参数典型刻画方法   参数典型用一个小写假名表白,每一个假名表白一个参数方法,如次表所示: 刻画方法 典型 刻画方法     典型   c signed char p far pointer   b unsigned char f  float   i signed short integer     d double   w unsignedshort integer        s handle   l signed long integer v void   u unsigned long integer    4.编写翻译资源文献   把.rc的资源文献生存为a3w.rc(提防不许生存文献名与dll文献名沟通要不delphi本人的资源文献会掩盖它),delphi自带的编写翻译文献为brc32.exe,在dos形式下运转:   c:\delphi32\bin\brc32 -r a3w.rc –foa3w32.res   此刻把资源文献介入工程中,归来delphi在view/projcet source打动工程文献在   exports msgbox;后可看到:     {$r *.res}  简略该行介入: {$ifdef win32}                   {$r a3w32.res}               {$else}                   {$r a3w16.res}               {$endif}编写翻译工程文献.  5.创造u32   咱们仍旧创造了32bit的authorware.dll,把它更名成authorware.u32.此刻已胜利创造了u32.在authorware中挪用authorware.u32在演算安排按钮增添代码:   msgbox("劝告框",1+32+0+4096,"能否退出本体例?")

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.