程序的合成问题?(100分)

Z

zhangxh

Unregistered / Unconfirmed
GUEST, unregistred user!
程序的各个模块均已设计好:
mainform,form1,form2....
有如下问题一直感到困惑?

1.主程序与子程序之间:
如实现象word那样的mdi界面关系,在主程序中如何调用子程序?
2.数据模块的问题?
数据模块是否必须auto-create,即在project中,在mainform
creat后,必须create?
3.子程序较多时,编译后的执行文件很大:
有何办法将执行文件变小?但功能不变。
举例:Autocad很大,但acad.exe不大。
4.当程序中存在数据模块、公用变量文件MyPublic.pas时,如何将子程序编译成dll?
以上问题不知描述清楚没有,望各位赐教。
 
1. Form2.Show;
//Form2.ShowModal 后者为模态窗体
2. 不需要也可以,但如果不是Auto-Create的窗体,必须在使用前Create,用完后Free
3. 文件比较大,可以用压缩工具压缩一下,比如aspack,upx等,另一个方法,把之功能做成Dll窗体
4. 公用变量之类还是别用Dll了吧
简单的说一下Dll的使用
Dll中
procedure MyProcedure;
stdcall;
//stdcall为标准调用,建议用此方法
begin
ShowMessage('Dll');
end;

exports
MyProcedure;
Form中
procedure MyProcedure;
stdcall;
external 'MyDll.dll';
这样就可以正常使用了,注意的是主窗体与DLL中传递参数的问题,比如是String,这需要用PChar代替
另外不要传递对象等等
 
接受答案了.
 
顶部