我有一个文档类,它有一个连接到数据库的对象。文档类有一个对话框,它是从一个包含组合框的菜单中产生的。我目前正在使用 OnInitDialog 设置组合框中的项目,但想使用数据库连接。
将数据库连接对象提供给对话框对象的最佳方式是什么?我认为我不能将它作为参数传递,如果我在构造后提供它,我可能会错过对 OnInitDialog 的调用。有没有办法找到父对象并调用 getMethod 来获取数据库对象,还是我完全走错了轨道,应该尝试完全不同的东西?
谢谢你的帮助,詹姆斯
通常,您会将对话框子类化以创建自定义构造函数,其中包括您想要处理的任何对象,例如您的数据库对象。
您应该在对话框的构造函数中传递数据库连接对象。修改对话框构造函数或相应地添加另一个构造函数。您可以将对话框的其他普通构造函数声明为私有,因此传递数据库连接成为对话框的要求。
我不确定您所指的体系结构,即文档类中的对话框,但我认为您可以在对话框类中添加一个用于数据库连接的成员变量,然后在对话框构造函数中或
dlg->dbConnection = dbConn;
在调用 DoModal 或 ShowWindow 之前设置数据库连接变量