📄 bckj简要说明.htm
字号:
<HTML>
<HEAD>
<TITLE>DELPHI6编程框架</TITLE>
<style type="text/css">
<!--
h1 { font-size: 20pt; font-weight: bold ; text-decoration}
p { font-size: 12pt; font-weight: bold }
pre { font-size: 12pt; line-height: 20pt}
a { font-size: 12pt; line-height: 20pt }
-->
</style>
<BODY>
<H1 ALIGN=CENTER>DELPHI6编程框架简要说明</H1>
<p> </p>
<table ALIGN=CENTER width="450" border="1">
<tr>
<td width="150"><a href="#1">一.运行方式</a></td>
<td width="150"><a href="#2">二.运行参数</a></td>
<td width="150"><a href="#3">三.系统配置</a></td>
</tr>
<tr>
<td width="150"><a href="#4">四.用户管理</a></td>
<td width="150"><a href="#5">五.数据库连接方式</a></td>
<td width="150"><a href="#6">六.COM/DCOM服务器</a></td>
</tr>
</table>
<P ALIGN=LEFT> </P>
<P ALIGN=LEFT><a name='1'></a>一.运行方式:</P>
<PRE> 本程序既是一般程序,也是COM/DCOM服务器, 作为COM/DCOM服务器时,它以ADO方式连接
数据库,几乎可以作为通用的MIDAS多层数据库系统的中间层应用服务器.该COM/DCOM服务器
的实例选项是ciMultiInstance,最好线程模式是APARTMENT(默认设置).
本程序设计了10个接口,功能一致,但只能注册其中一个,其可能的接口类有:
{3DD28C32-19B7-4891-AA44-EF85A411CF2E},bckj.DefaultRDM
{18CFAF5C-D87D-4987-8BF1-42A020322E0F},bckj.DefaultRDM1
{18D37B10-560A-4D7C-A3CF-DD74EFE380FE},bckj.DefaultRDM2
{B96628E3-4A50-4400-9A06-39D80BD4E090},bckj.DefaultRDM3
{3A8F39A5-5BBE-46E3-BDB7-E74579BC3286},bckj.DefaultRDM4
{02006866-3F32-4D22-9E4B-568B8113363F},bckj.DefaultRDM5
{D84DEC1C-C3DE-4FEA-8554-3A986214A3BD},bckj.DefaultRDM6
{AC72E37E-20A7-48F0-B3AA-C10C82F0D7D2},bckj.DefaultRDM7
{FA0CC0AC-E054-44B1-9ABD-DD67267BC943},bckj.DefaultRDM8
{DAC97CAC-9211-4398-877B-E64451D9E8BB},bckj.DefaultRDM9
本程序按以上顺序优先注册, 如果以上接口均被可用程序注册, 则本程序不能注册COM
服务器,只能作为一般程序使用,但在DLL打开方式中的IDefaultRDM参数可以使用.要想知道
COM服务器的注册情况,可以带参数/ID执行本程序,也可以在本地登录成功后按CTRL+F1查看.
本程序有三个主要文件:bckj.exe,bckj.ini,bckj.usr,更名要同步.
本程序同时只能运行一个实例.</PRE>
<P ALIGN=LEFT><a name='2'></a>二.运行参数:</P>
<PRE> 1.有关COM服务器的运行参数:
/REGSERVER:注册COM/DCOM服务器;
/UNREGSERVER:撤消COM/DCOM服务器的注册;
/ID(/CLSID或/SHOWCLSID):显示COM服务器的接口信息;
/N(/NEUTRAL),
/B(/BOTH),
/F(/FREE),
/A(/APARTMENT),
/S(/SINGLE):分别指定不同的线程选项(默认为APARTMENT);
/T:N(/TIME:N)(N代表多少分钟,N大于4320则视为0,0表示不限客户的连接时间):
确定每个客户的最长连接时间(默认为0,即不限客户的连接时间, 未注册版本限制最长连
接时间为60分钟).注意,如果不使用APARTMENT线程选项,服务器端主动断开远程客户的连
接可能会导致错误的发生.
2.用户参数:
/U:UserName(/USER:UserName或/USERNAME:UserName)(UserName代表登录用户名),
/P:Password(/PASS:Password或/PASSWORD:Password)(Password代表登录密码): 指
定登录用户及密码.如果参数中不带/或-,则第一个视为登录用户名,第二个视为登录密码.
只要存在登录用户名,不管指不指定密码都将尝试登录.
3.CMD文件:
可以将命令行参数保存在CMD文件(bckj.cmd)中让本程序读取, 与命令行参数有同样
效果,注意各参数之间要用空格或换行隔开.如果在运行时同时存在同类的命令行参数,则
以命令行参数为准.</PRE>
<P ALIGN=LEFT><a name='3'></a>三.系统配置:</P>
<PRE> 1.功能组与功能项:
功能组与功能项类似于常规软件的菜单项,其中功能组可以分级,也可以包含功能项,
而各功能项可以实现不同的功能模块.
功能组与功能项都可以新增、删除(放入回收站或彻底删除,按住SHIFT键或在回收站
中执行删除操作可以彻底删除)、恢复、编辑属性, 还可以在不同的功能组之间复制剪切
粘贴或拖动.
功能组与功能项的定制由其属性页完成.属性包含一些常规信息如名称、序号、提示
信息、图标等,也指定了如何打开功能项,这些都可以定制.
不同的查看方式(大图标、小图标、列表、详细信息等)可以显示不同的图标,而这些
图标既可以从本程序自带的图标中选取,也可以指定为某个可以打开的图形文件, 甚至可
以指定为某个PE文件的某个图标(格式为:PE文件全路径/图标序号,图标序号从0开始).
功能项可以有不同的打开方式:
FORM: 可以打开(模式或非模式)指定的本程序已创建的FORM(DELPHI),目前可用的有
GUIDForm(显示COM服务器的接口信息)和ServerViewForm(显示COM服务器的监视信息),前
者可以按CTRL+F1打开,后者可以按CTRL+F2打开.
DLL:可以执行指定DLL文件(或DELPHI包)中的指定函数, 而该函数必须按以下格式实
现(DELPHI格式):
function(AppHandle, MainWindowHandle: HWND; AppIcon: HICON;
PBDE, PADO, PDCOM, PSOCKET, PWEB, PSOAP, PCORBA: Pointer;
IDefaultRDM: OleVariant): HWND; stdcall;
AppHandle是隐藏的Application窗口句柄(即DELPHI的Application.Handle);
MainWindowHandle是本程序可见主窗口句柄;
AppIcon是主图标句柄,而主图标可以定制(详细见后);
PBDE、PADO、PDCOM、PSOCKET、PWEB、PSOAP、PCORBA是实现数据库连接的关键组件
TDatabase、TADOConnection、TDCOMConnection、TSocketConnection、TWebConnection、
TSoapConnection、TCorbaConnection转换成的指针,在DELPHI实现的DLL或包中可以转换
成相应组件使用(关于数据库的连接详细见后),非DELPHI开发工具可以自行实现数据库的
连接而忽视这几个参数;
IDefaultRDM是COM服务器的接口,可以用它调用一些COM服务器提供的方法(后有详细
说明).在DELPHI中如需复制该参数使用,注意要在用后Unassigned. 暂不知在其他开发工
具中如何使用该参数,但至少用常规的连接COM服务器的方法可以实现类似的功能.
IDefaultRDM可用的方法主要是:
用IDefaultRDM.Login来登录,但这个方法在此处是由程序自动进行的,它以登录本程
序的当前用户自动登录COM服务器,DLL中不要用此方法.
用IDefaultRDM.StringEncrypt, IDefaultRDM.StringCompress来实现以#0结尾的任
意字符串的加解密和压缩解压缩.
用IDefaultRDM.ProcesPassword实现口令加密, 用IDefaultRDM.GetUserInfo来读取
用户信息,用IDefaultRDM.SetUserValue来保存用户关键信息(由DLL本身负责解释),此方
法要正确执行必须本程序是以具有用户管理权限的用户登录的, 且本程序经过注册(未超
过100次登录的假注册也包含在内,而假注册是指注册时以 <-WangFuSheng-> 为注册用户
名而自动实现的注册, 未注册时程序运行过程中经常弹出注册窗口,但除用户管理功能不
能执行和连接服务器的时间不能超过60分钟外其他功能照常执行,假注册但所有用户合计
登录次数超过100次则视为未注册,在假注册有效期内,包括用户管理功能在内有所有功能
模块均可正常执行,只是在执行用户管理功能时偶尔有提醒您并未真正注册的提示).
用IDefaultRDM.ConnectNewObject可以连接指定类名(如Excel.Application)的自动
化服务器(断开用IDefaultRDM.DisConnectObject),然后用IDefaultRDM.CustomObject属
性访问所连接的自动化服务器,当前登录用户需有访问权限.
同时,IDefaultRDM还有Object0、Object1、......Object9等十个OleVariant属性用
于访问外挂COM服务器(详细说明见后),当前登录用户需有访问权限.
用IDefaultRDM不要调用与数据库相关的方法,因为本程序不允许.
返回参数指定打开的窗口句柄,如未打开或以模式打开返回0;
调用约定为STDCALL.
EXE:用API函数ShellExecute打开指定的文件或文件夹,类似于在资源管理器中双击.
PB:可以打开某PowerBuilder伪编译的PBD文件中的窗口,需PBCALL.EXE和PBHOOK.DLL
支持.目前支持的PowerBuilder的版本是7.0,但如果以不同版本编译生成PBCALL.EXE文件
则可以支持不同版本编译的PBD. 如果该PBD需要其他PBD的支持可以先在PBCALL.INI中指
定好需要预先打开的PBD列表.PBD中不必实现SQLCA数据库连接(使用本程序提供的数据库
连接方式PBSQLCA,详细见后)而直接使用SQLCA事务. PBCALL.EXE和相关PBD运行需要相关
PowerBuilder的动态链接库支持.
双击未删除的功能项或选定功能项后按回车,就可以在权限允许(关于权限设置见后)
时以指定的方式打开该功能项,实现不同的功能.删除的功能项不允许打开.
在本程序的基础上配置不同的功能组和功能项就可以实现不同的软件系统.
2.系统选项:
默认的系统标题是"DELPHI6编程框架",可以更改为想要实现的软件系统的名称;
提示信息是指在关于时显示的软件系统的相关信息,一般为版权信息;
系统图标(主窗口图标)可以指定为可以打开的图形文件,也可以是某个PE文件的指定
序号图标,指定格式同功能组或功能项的图标属性;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -