我公司上一个小公司(技术很烂)作的ERP系统是用DELPHI6 编写的其结构是作了几个基类,然后功能模块都是通过继承产生并都作成BPL,主程序执行所有的程序都是通过装载BPL然后 show 的,数据操作全部都是绑定完成,程序运行及不稳定,有时功能窗口关不了,有时主窗口关不了.很脑火是不是delphi编写的程序都是这个样子(公司最近买了源码,小弟我刚接触delphi 6),源码结构很不清晰,我想问一下用DELPHI开发大型点的程序都是用的这种架构吗?要不是点拔小弟一下...我还菜,我原来学VB的是将所有的窗口都建立在工程里面(很土)exe编译出来很大,DELPHI是不是这样?有人建译我将系统用delphi 7 重编译一次,说会稳定我试了一回有的地方运行会出错,这样作真的会稳定吗?
解决方案 »
- TEvent
- 如何在单击窗体右上角的关闭按钮时不关闭窗体?
- 这样的界面应该用什么控件实现?
- 一个关于edit控件的问题,在线等!
- 是不是用delphi编写的dll在没有装delphi的机器中不能用?
- 编写这种软件的思路是什么(标题说不清楚),求高手指教!
- 进程的优先权是什么意思?有什么用啊
- Quickreport的高手请指教!
- CreateProcess的问题,启动石器时代执行文件,结果出现内存不能读
- KyLix (Delphi for Linux) bata3 (2001.1.31发布)http://go.163.com/~gotolinux
- 请大家推荐一个单机数据库(要求较多)
- fastreport 显示页数问题
每个人的水平都不一样
编程风格也不一样
出错是再所难免的
估计你现在能做的也只能帮他们改BUG
要重新换架构肯定是不可能的了
和架构没有关系!用BPL和用DLL分割都差不多,掌握不好的话就会出现一些问题!
我的代码里写的是 数据窗口.free;bpl卸装
bpl窗口 public
iCurrentBplHandle:HMODULE;procedure FormDestroy(Sender: TObject);
begin
Fbasemod:=Nil;
postmessage(主窗口.Handle,WM_CLOSEPACK,iCurrentBplHandle,0);
end;主窗口
type
procedure MyUnLoadPackage(var Msg: TMessage);message WM_CLOSEPACK;
....bpl窗口.iCurrentBplHandle:=LoadPackage('bplfilename');procedure MyUnLoadPackage(var Msg: TMessage);
begin
if Msg.WParam<>0 then
begin
UnloadPackage(Msg.WParam);
end;
end;