运行期包(bpl)怎样制作和调用?

yygang 2004-06-30 10:13:33
很多书上说跟DLL一样,网上这类资料又少,请各位高手指教!
...全文
233 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
billfranck 2004-07-05
  • 打赏
  • 举报
回复
关注中
yygang 2004-07-05
  • 打赏
  • 举报
回复
现在还没有找到好的方法,再顶。
redcony 2004-07-02
  • 打赏
  • 举报
回复
难呀,看你用什么方法实现了,做成Com不就可以了
------------ 不要在 DLL 中导出类,否则你迟早会被它拖垮的!
接口或者过程(函数)是当前 DLL 唯一能正确处理的东西。

需要RegisterClass和RegisterComponentsProc
redcony 2004-06-30
  • 打赏
  • 举报
回复
用LoadPackage,其他的和DLL一样
yygang 2004-06-30
  • 打赏
  • 举报
回复
To 98034130(想你的双鱼):
谢谢你的回复,你说的静态的设计期的包,我要的是动态的运行期的包,像DLL一样动态调用,不用安装。
98034130 2004-06-30
  • 打赏
  • 举报
回复
如果是制定带窗口的控件,还需加入一个Frame
98034130 2004-06-30
  • 打赏
  • 举报
回复
使用:
Componet->Install Package
然后选择Add按钮,选择你做好的bpl,就可以将自定义控件安装到你当初指定的控件栏位,就可以使用了
98034130 2004-06-30
  • 打赏
  • 举报
回复
1.New一个Package,保存。比如保存为dclusr_user.bpk
2.在此基础上New一个Component,选择继承的类型,设定名字,控件所在的栏位,保存的路径等,这里路径最好是选择跟1里面保存的package在一起。
3.Build这个Package,然后在Cbuilder6\Project\下面有两个文件夹,一个是bpl,一个是Lib。
你说的bpl应该就在bpl文件夹里面。
yygang 2004-06-30
  • 打赏
  • 举报
回复
难道没有人知道?
yygang 2004-06-30
  • 打赏
  • 举报
回复
顶,高手们,请进言。
SCUM 2004-06-30
  • 打赏
  • 举报
回复


bpl 也不行..
yygang 2004-06-30
  • 打赏
  • 举报
回复
To redcony():
我是要从bpl中动态的导出类,dll好像不行,所以就用bpl。
constantine 2004-06-30
  • 打赏
  • 举报
回复
目录 1 概述 1.1 简介 1.2 主页 1.3 安装 1.4 运行 1.4.1 运行脚本 1.4.2 运行字节码文件 1.5 关于 1.6 历史 1.7 联系方式 2 OllyMachine体系 2.1 核心 2.1.1 寻址空间 2.1.2 寄存器 2.1.3 标志位 2.2 工作流程 2.3 编译期错误 2.4 运行期异常 3 OllyMachine汇编语言 3.1 基本元素 3.1.1 指令 3.1.1.1 操作码 3.1.1.2 操作数 寄存器 标识符 整数常数 3.1.2 注释 3.2 标号 3.3 数据传送指令 3.3.1 MOV 3.3.2 XCHG 3.3.3 LDS 3.3.4 PUSH 3.3.5 POP 3.4 算术指令 3.4.1 加法指令 3.4.1.1 ADD 3.4.1.2 INC 3.4.2 减法指令 3.4.2.1 SUB 3.4.2.2 DEC 3.4.2.3 CMP 3.4.3 乘法指令 3.4.3.1 MUL 3.4.4 除法指令 3.4.4.1 MUL 3.5 逻辑指令 3.5.1 逻辑运算指令 3.5.1.1 AND 3.5.1.2 OR 3.5.1.3 NOT 3.5.1.4 XOR 3.5.2 移位指令 3.5.2.1 SHL 3.5.2.2 SHR 3.6 控制转移指令 3.6.1 无条件转移指令 3.6.1.1 JMP 3.6.2 条件转移指令 3.6.2.1 JE 3.6.2.2 JNE 3.6.2.3 JB 3.6.2.4 JNAE 3.6.2.5 JNB 3.6.2.6 JAE 3.6.2.7 JBE 3.6.2.8 JNA 3.6.2.9 JNBE 3.6.2.10 JA 3.7 其他指令 3.7.1 INCLUDE 3.7.2 NOP 3.7.3 PAUSE 3.7.4 HALT 3.7.5 INVOKE 4 OllyMachine API 4.1 Hello World! 4.2 调用方式 4.3 更简便的调用方式 4.4 返回值 4.5 基本输入输出API 4.5.1 MSG 4.5.2 MSGYN 4.5.3 PrintNum 4.5.4 PrintBuf 4.5.5 PrintBufToDump 4.5.6 PrintBufToNewDump 4.5.7 UpdateDumpBuf 4.5.8 InputText 4.5.9 InputHexLong 4.6 内存操作API 4.6.1 ReadMemLong 4.6.2 WriteMemLong 4.6.3 WriteMemHexes 4.6.4 ReadFileIntoMem 4.6.5 DumpMem 4.6.6 DumpMemAppend 4.6.7 DumpAsPE 4.7 搜索和替换API 4.7.1 FindOpcode 4.7.2 Find 4.7.3 ReverseFind 4.7.4 Search 4.7.5 ReverseSearch 4.7.6 GetPrevOpAddr 4.7.7 GetNextOpAddr 4.7.8 GetProcAddress 4.7.9 Fill 4.7.10 ReplaceBytes 4.7.11 ReplaceBytesEx 4.7.12 CopyBytesTo 4.8 汇编API 4.8.1 ASM 4.8.2 __asm 4.8.3 Analyse 4.9 运行API 4.9.1 RunToReturn 4.9.2 RunToUserCode 4.9.3 Run 4.9.4 AnimateInto 4.9.5 AnimateOver 4.9.6 StepInto 4.9.7 StepIntoS 4.9.8 StepOver 4.9.9 StepOverS 4.9.10 ESTI 4.9.11 ESTO 4.9.12 GO 4.10 Trace API 4.10.1 TraceInto 4.10.2 TraceOver 4.10.3 TraceIntoCond 4.10.4 TraceOverCond 4.11 断点API 4.11.1 BP 4.11.2 BC 4.11.3 BPCND 4.11.4 BPL 4.11.5 BPLCND 4.11.6 BPRM 4.11.7 BPWM 4.11.8 BPMC 4.11.9 BPHWS 4.11.10 BPHWC 4.11.11 EOB 4.11.12 EOBINT3 4.11.13 EOBHW 4.11.14 EOBMEM 4.11.15 EOE 4.11.16 COB 4.11.17 COE 4.12 模块API 4.12.1 GMI 4.13 注释与标号API 4.13.1 Comment 4.13.2 SetLbl 4.14 日志API 4.14.1 LogText 4.14.2 LogLong 4.15 反反调试API 4.15.1 HideOD 4.15.2 UnHideOD 4.16 缓冲区API 4.16.1 malloc 4.16.2 free 4.16.3 VirtualAllocEx 4.16.4 VirtualFreeEx 4.16.5 strcpy 4.16.6 strcat 4.16.7 strlen 4.16.8 ltoa 4.16.9 memcpy 4.17 辅助调试API 4.17.1 FindProcBegin 4.17.2 FindProcEnd 4.17.3 FindPrevProc 4.17.4 FindNextProc 4.17.5 FollowCall 4.18 杂项API 4.18.1 IsWinNTKernel 4.18.2 GotoCpuAddr 4.18.3 GotoDumpAddr [首页, 上一页, 下一页; 目录 ]
ABFrameWork是一种快速开发软件的框架 框架的概念很简单,它是整个软件开发的骨架,它实现了数据访问的底层服务和业务领域通用的功能模块。如用户管理、权限分配、数据访问、二次开发、多语切换、自动更新等。 使用框架开发可以大大缩短开发软件的周期、提高代码质量。此种模式下可最大化的并行开发、最大化的利用资源,从而降低成本、提高效率。 在实际开发中,开发团队可以在实现了底层服务与通用功能的框架上开始具体的系统开发,对要设计的业务进行分工,编码后将业务模块注册到框架系统中进行调试和运行。形象一点来说,就像盖高楼,当一个新项目开始设计和施工时,经过多次考验的大楼框架已经矗立在那里,我们要做的事就是分工做好每个内部房间,然后吊装到大楼内部就可以了,如下图所示。 clip0001 (2)、ABFrameWork是基于组件技术的快速开发工具 框架是面向开发团队的快速开发工具,框架提供了大量的组件和函数库,开发团队可直接使用已有的组件和函数库,大大减少了代码量,并提高了代码速度和质量,甚至可在运行期通过脚本开发新的模块或通过脚本对已有模块进行重定义。在实践中,利用本框架设计的软件开发周期缩短约70%以上,框架在程序稳定性和团队协作方面带来的价值更高。 (3)、ABFrameWork是企业业务可持续开发的平台架构 经过简单培训的系统管理员可以根据业务的变化自由增加或修改模块,经过SQL数据库操作培训的系统管理员可以增加修改报表、查询、图形分析等多项功能,具备DELPHI开发能力的企业人员可以根据需求的增加去设计新的模块并且可无缝添加到已有系统中。 (4)、ABFrameWork是快速方便的系统升级分发工具 由于框架本身具备模块分发功能,因此当有模块升级或新模块加入系统时,系统会自动将模块分发到具有操作权限的用户所使用的计算机当中。可以进行热拨插式的升级,即在不关闭客户端的情况下单独对业务模块升级。 二、ABFrameWork的特色 (1)、支持C/S的两层与三层方式且可运行时动态切换 一个本地参数决定当前架构是三层还是两层,对开发人员来说两层与三层都是使用同一组控件和组件,开发人员在设计期不用考虑两层或三层架构,两层还是三层只是在运行时通过一个本地参数设置来决定的,可实现A客户端(如企业内部)使用二层,B客户端使用三层(外网访问)。 (2)、脚本的完美支持 可通过脚本编辑已有功能模块的界面控件任何事件,也可通过脚本开发新的功能模块,最大程度地使二次开发更加灵活,更加简单。 (3)、解决简繁体与多语言的问题且可运行时动态切换 在简体下编译的程序不用任何修改,就可以在繁体下运行且显示繁体,反之也然,可动态增加、删除或切换语言。 (4)、先进的EXE+BPL分发架构 框架采用EXE +BPL架构,一个功能模块是一个BPL,由主EXE调用,方便发布更新,同时也减少了主程序的体积,功能划分更加清晰,主程序只负责调用BPL或其它程序,增强模块独立性, 框架不涉及具体的业务逻辑,但为所有业务系统服务,实现公共业务功能的部分,如角色管理,操作员管理等。 (5)、先进的自动更新机制 客户端只是一个几M的exe程序,客户端登录运行时会自动将模块分发到具有操作权限的用户所使用的计算机当中。当某一功能模块有更新时,只需将此模块拷贝到任何一台客户端,点击客户端的“上传本地程序”按钮,客户端就会将新的本地程序升级到服务器中,其它客户端在重启或重新打开这个模块时就会先从服务器下载新版本后再运行,从而实现了热拨插式的升级方式,即在不关闭客户端程序的情况下单独对业务模块升级,而这些对客户来说是无感觉的,客户没有感觉到升级,但用的却是最新版本的程序,这样我们就可以一边修正一边编译一边运行,而不用重启动客户端。 (6)、方便灵活的角色控制 .可对操作员分配可用的角色 .可对角色分配各种权限 如一个操作员可分配多种角色,此操作员登录时就可以使用所拥有的多种角色的权限了 权限分类如下所列 v功能模块权限(登录后可以看到哪些模块),如张三、李四登录后能看到客户管理模块,而王五登录后不能看到客户管理模块 v功能模块报表权限(模块的哪些报表可以使用),如张三、李四登录后能看到客户管理模块,但张三能看到客户列表报表,而李四看不到 v功能模块输入模板权限(模块的哪些输入模板可以使用),如张三、李四登录后能看到客户管理模块,但张三能看到大客户输入模板,而李四看不到 v功能模块脚本权限(模块的哪些脚本可以使用,脚本中可灵活设置界面控件的是否显示等属性),如张三、李四登录后能看到客户管理模块,但张三看到的是执行过某个脚本后的窗体,而李四看到的是没执行过脚本的窗体 v扩展报表权限(哪些扩展报表可以使用),如张三、李四登录后能看到交易分析的扩展报表,但王五看不到 v定制对象权限(哪些定制对象可以使用,如可将界面上一组按钮定义为一个功能点,则具有此功能点用户可以看到这组按钮),如张三分配了功能点权限A,则张三登录时可以看到客户管理中的属于功能点权限A的一组按钮,而李四没有分配,则本四登录时就看不到这一组按钮了 v数据表权限(哪些数据表可以新增、修改、删除、打印,可以看到数据表的哪些行),如登录相同的客户管理模块,张三能增加、删除、修改客户的数据,而李四只能查询客户的数据;如登录相同的客户管理模块,张三能看到部门A的数据,而李四能看到部门B的数据 v字段权限(可以看到数据表的哪些字段),如张三能看到客户管理模块的保证金字段,而李四看不到此字段 (7)、完美支持数据库中设置的唯一约束、主键等特性 数据集组件会自动解解释表的约束主键,字段的唯一值等特性,在提交数据时数据集组件会自动检测这些设置,当提交失败时会自动翻译为”某某字段不能为空”, ”某某字段不能重复杂”等提示信息,同时框架也支持自定义不能为空\只读\不能重复的字段及颜色等设置. (8)、多人协同工作提高开发速度、缩短开发周期 组成系统的BPL模块可并行开发测试,互不关联,框架还提供大量函数库,尽可能的增强代码重用,从而加快开发效率、减少开发人员、降低维护费用,进而提高软件生产效率和质量,如一个类似销售订单的复杂模块可控制在500行,甚至一个工资系统的代码量不会超过5000行,有利于在一个项目内多人协同工作,在实践中,利用本框架设计的代码开发周期缩短约70%甚至更短,在程序稳定性和团队协作方面带来的价值更高。 (9)、高效的数据库访问机制、高性能的数据库交互 框架自动解释各种数据操作的动作,框架内置的SQL解析器自动生成相应的新增、删除、修改的SQL语句,提高与数据库交互的效率。 (10)、框架的发展支持 本框架是一个轻量级的应用框架,已有众多实例上线使用,还在继续更新完善中,目前只能支持C/S结构两层或三层应用。暂不支持B/S架构。

604

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder VCL组件使用和开发
社区管理员
  • VCL组件使用和开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧