一个指针调用的有关问题(多次调用还是重复调用,自己没底,就不乱取名字)
一个指针调用的问题(多次调用还是重复调用,自己没底,就不乱取名字)首先,有个串口类Cncomm.h,是个单独的h文
一个指针调用的问题(多次调用还是重复调用,自己没底,就不乱取名字)
首先,有个串口类Cncomm.h,是个单独的h文件。里面是一个类的声明,有一个Open(~)的函数。
下面2种方法:
方法一:
在Login.h里面定义
引用头文件
#include "Cncomm.h"
在CLogin
里面 定义变量
CnComm com;
调用的时候如下
if(!(com.Open(1028,strCBComPort,19200,NOPARITY,8,ONESTOPBIT)))
{
AfxMessageBox(_T("打开串口失败"));
return;
}
else
{
AfxMessageBox(_T("打开串口成功"));
}
没问题,能正常打开使用串口
方法二:
把Cncomm.h的引用放在第三方的Main.h里面
头文件定义(Main.h)内 #include "Cncomm.h"
仍然在CLogin的对话框里面用。
在Login.h里面
class CMainApp;声明类
CMainApp *m_pClassLoginDlg;定义指针
在Login.cpp内
在OnInitDialog()内初始化和获得
m_pClassLoginDlg=NULL;
m_pClassLoginDlg=(CMainApp *)AfxGetMainWnd();
然后引用
if(!(m_pClassLoginDlg->com.Open(1028,strCBComPort,19200,NOPARITY,8,ONESTOPBIT)))
{
AfxMessageBox(_T("打开串口失败"));
return;
}
else
{
AfxMessageBox(_T("打开串口成功"));
}
这里的检测过不去,
现在请问一下,这个指针的使用方式哪里有问题?
或者,如何去对这个Open操作?
放到CMainApp里面是为了达到一次定义,Login和MainDlg里面都能使用,并且一致的目的。还有别的方法达到这一目的吗?
[解决办法]baidu来的:http://blog.csdn.net/boyxiaolong/article/details/6645681