VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 672|回复: 5

把一个程序拆成几个DLL!!!

[复制链接]

1

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-1-18 06:40:01 | 显示全部楼层 |阅读模式
我一开始写程序时没有规划好...现在要把一个程序拆成几个DLL,但是总是遇到很多麻烦事......
所有请问一下,是不是任何一个程序都可以拆成几个DLL的呢?(这么问是因为如果不可以那我就不白费力气了)
我的程序主要是对话框的调用,有很多资源,可以拆的吧?
如果要分的话,有什么特别重要的要注意的呢???
我想用的是loadlibrary显示调用,但是看的书上只有调用函数的例子.

不好意思,动态链接库没学多久,还有好多不懂呀....可不可以把DLL看作是动态加载的代码呢?还是有其它很多的限制?比如...是不是只能调用其中的函数?(有对话框就会有类嘛,唉还有消息,真是手忙脚乱呀...)

请大侠们帮帮我吧!!!
!!!!!!!!!!!!!!!!!!!
谢谢谢谢!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!
回复

使用道具 举报

0

主题

55

帖子

32.00

积分

新手上路

Rank: 1

积分
32.00
发表于 2020-1-28 00:45:01 | 显示全部楼层
DLL主要是为了模块化,但你的界面和消息什么的最好还是放在主程序中。
回复

使用道具 举报

0

主题

10

帖子

9.00

积分

新手上路

Rank: 1

积分
9.00
发表于 2020-1-30 16:09:01 | 显示全部楼层
资源最好放在一个dll或者说一个模块里,不要这里一点那里一点,增加出错的几率。。。
用loadlibrary导入,函数用Getprocaddress,资源用SetResourceHandle
回复

使用道具 举报

0

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-1-30 20:09:01 | 显示全部楼层
在同一个解决方案中可分为几个工程,将模块放到一个工程中生成为DLL,EXE工程可以调用DLL工程,不必用Loadlibrary。
回复

使用道具 举报

1

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
 楼主| 发表于 2020-2-4 17:15:01 | 显示全部楼层
我现在最大的问题其实是这样的:
我原来在主窗口(是个对话框)里双击会新建一个对话框,这两个对话框都要响应一些消息的,并且都有右键菜单
我想把它们分开来,把子对话框放在DLL里(包括子对话框的一切相关的东西),这样主窗口双击时就动态加载DLL产生对话框,
但是他们两个之间又有很多数据互相联系,所以麻烦的咧~~~~~
并且子对话框如果按我原来的用无模式对话框的话,它执行完后马上就退出了.
但如果用模式对话框的话,子对话框存在的时候主窗口又无法响应........

唉...........

回复

使用道具 举报

0

主题

5

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
发表于 2020-3-31 17:30:02 | 显示全部楼层
按楼主的意思,可以这样实现:作两个dll,每个dll中建一个类(类A,类B),所有功能在类A中实现或也可建立与类A建立关联的类A'实现其它功能(看需要可建多个类),在主程序中,定义类A,类B的成员,通过类A的成员、类B的成员来访问dll中的函数实现功能。同理也可实现类A、类B之间的交换数据。致于消息传递可以通过主程序中的winproc函数接收消息,也可以视需要,在窗口之间传递消息。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表