进程内, 一个exe文件, 多个dll文件 的 公共变量问题

谁是我的谁的谁 2012-01-05 05:51:03
一个 solid.exe文件, 调用多个atl的dll文件(sketch.dll, model3d.dll,assemble.dll, toolbox.dll ....). 如何在solid项目中定义公共变量,其他dll项目中使用。


想法如下
1 在solid 项目中 中设定一个公共变量 CComPtr<ITools_AxisSystem> g_AxisSystem; (坐标系接口,在toolbox.dll中定义)
2 启动程序的时候实例化 ( g_AxisSystem.CoCreateInstance(__uuidof( Tools_AxisSystem) );。
3 各个dll中随时使用这个变量
使用sketch.dll 可以使用它确定草图所在平面
model3d.dll中可以使用它做参考向量
view.ll可以使用它调整视角

这个g_AxisSystem一直存在并且显示。
...全文
97 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zzz3265 的回复:]
solid项目 exe也可以导出符号的
其他工程只要声明, 并加入lib就可以用了
[/Quote]还是不明白 不好意思
Yofoo 2012-01-11
  • 打赏
  • 举报
回复
solid项目 exe也可以导出符号的
其他工程只要声明, 并加入lib就可以用了
lgstudyvc 2012-01-11
  • 打赏
  • 举报
回复
最后在加入一个TaskDll
去管理你的其他库
而你的exe只与TaskDll联系
fishion 2012-01-06
  • 打赏
  • 举报
回复
还是在使用的时候传参吧
  • 打赏
  • 举报
回复
请明示
sharptiger123 2012-01-05
  • 打赏
  • 举报
回复
每个dll 确定一个备份吧 直接同步数据 一个个通知

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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