我不是很清楚你的意图。
提一些建议吧:
1、把‘用户名、口令、数据库别名’放在DLL的接口中。
function ModMain(ParentWnd: THandle; DbUsr,DbPwd,FunctionParameter,BdeAlias,Department,LoginUserid:shortString ): Integer; stdcall; //返回主窗口的句柄
2、类似‘权限控制’等,配置性的操作,可以放在‘注册表’中。
3、具体操作放在DLL中,DLL中的功能应该相对独立。要能体现对象化的思想,最好对一些常用的
消息操作进行封装。
//仅作参考,有兴趣,可以与我联系:[email protected]。
提一些建议吧:
1、把‘用户名、口令、数据库别名’放在DLL的接口中。
function ModMain(ParentWnd: THandle; DbUsr,DbPwd,FunctionParameter,BdeAlias,Department,LoginUserid:shortString ): Integer; stdcall; //返回主窗口的句柄
2、类似‘权限控制’等,配置性的操作,可以放在‘注册表’中。
3、具体操作放在DLL中,DLL中的功能应该相对独立。要能体现对象化的思想,最好对一些常用的
消息操作进行封装。
//仅作参考,有兴趣,可以与我联系:[email protected]。
解决方案 »
- 问个delphi的问题(新手求助)
- 请教个QuickRep报表问题
- 如何单机按钮,调用窗体的onclose事件
- 怎么判断按了键盘上的Enter键?
- 报表打印排列问题急!!!
- 我在用程序创建快捷方式出现:“access violation address 00440667 in module"ccj.exe".Read of adsress ffffffff."错
- 求争Delphi开发论文
- 小浩子系列问题之二(100份相送)----请各位高手帮帮小弟啊!
- 一个关于字符串的小问题,在线等待!
- 有什么好心人可以告诉我
- 如何知道一个工程中的某个窗体是否已经打开??
- DELPHI串口通信,可以采用USB接口。希望给些建议,谢谢~本想多给分的,可是只能这么多,如果需要,可以再加!
1、所有相关信息,在服务器上有,但在CLIENT都有,不管怎么说,在本地读,要比在服务器上
读快。至于放在注册表中,不是没有考虑,只是考虑到数据量较大(这些常用信息有25000多条记录,当然是不同的表)。而且如果用WINDOWS优化这类的软件一做,说不定,又会给清掉了。
至于如果象权限等放生变化,则我在服务器有相应的表,将变化的资料放在里面,如果有变化,
则CLIENT在起动时会当下来,然后再从本地读数据
然而,对于用DLL,我没有多少经验。就目前来说,存在如下问题:
1、主PRG要一次将菜单,权限等信息从DLL中读出来,这个全局对象怎么写?
2、这个DLL如何写,我又是差不多束手无策。
File view Edit Help 4个菜单项
F1 V1 E1 H1
F2 V2 E2
F3 V3 E3
定义一个规则,
如10->File
11->F1
22->V2
40->help
...
把他放到表里面
用一个表存放 MenuID,USR
其中 MenuId存放菜单的标识,USR存放用户名
如果用户 U1 有 File 的权限则 对应 '10','U1'
判断起来也很容易 select menuid from table where usr = "U1"
然后在Dll中返回查询结果,在主程序里依次修改各菜单项的visible就行了(对了,一开始所有的菜单项都隐藏)
Dll函数的入口参数有数据源、用户名的,返回一个查询的数据集