初学者有关问题请高手帮忙看看多谢啦. 请教 为什么小弟我在原窗口 CTabPage1中调用SendClientsMsg没有有关问题可是 在其他其他窗

菜鸟问题请高手帮忙看看谢谢啦. 请问 为什么我在原窗口 CTabPage1中调用SendClientsMsg没有问题可是 在其他其他窗
请问 为什么我在原窗口 CTabPage1中调用SendClientsMsg没有问题可是 在其他其他窗口CTabPage3::中调用时只能执行到
for( INT_PTR idx = 0; idx < m_ClientArray.GetCount(); idx++ ) 这一句.
其他 就跳过了 肯定是他m_ClientArray.GetCount(); =0 了 我想问为什么 怎莫解决谢谢 
我要在CTabPage3::中调用SendClientsMsg........
声明 void SendClientsMsg(CString strMsg, CClientItem *pNotSend = NULL);

定义Inc.h
#pragma once
class CTabPage1;

#define MAX_BUF_SIZE 1024
#define WM_TRAYICON_MSG (WM_USER+100)

class CClientItem {
public:
CString m_strIp;
SOCKET m_Socket;
HANDLE hThread;
CTabPage1 *m_pMainWnd;
CClientItem(){
m_pMainWnd = NULL;
m_Socket = INVALID_SOCKET;
hThread = NULL;
}
};


执行


void CTabPage1::SendClientsMsg(CString strMsg, CClientItem *pNotSend)
{
TCHAR szBuf[MAX_BUF_SIZE] = {0};
_tcscpy_s(szBuf, MAX_BUF_SIZE, strMsg);
for( INT_PTR idx = 0; idx < m_ClientArray.GetCount(); idx++ ) {
if ( !pNotSend || pNotSend->m_Socket != m_ClientArray.GetAt(idx).m_Socket ||
pNotSend->hThread != m_ClientArray.GetAt(idx).hThread ||
pNotSend->m_strIp != m_ClientArray.GetAt(idx).m_strIp) {
send(m_ClientArray.GetAt(idx).m_Socket, (char *)szBuf, _tcslen(szBuf)*sizeof(TCHAR), 0);

}
}
}
void CTabPage1::OnBnClickedButton3()
{CString asfgasf=_T("juhiugyi");
SendClientsMsg(asfgasf);
}
--------------------------------------

void CTabPage3::OnBnClickedButton555()
{//CTabPage1 *pFframe = (CTabPage1*)(AfxGetApp()->m_pMainWnd);
LPVOID pParam=this;

CTabPage1 *pFframe = (CTabPage1 *)pParam;

pFframe->SendClientsMsg(m_strFileName);
}


------解决方案--------------------
你写那么多干什么用啊。
首先,你这个array变量是哪个类的成员变量?是page1的,还是page3的,还是基类的?从你这里看,似乎是page1和page3的基类的成员变量。
可能你还不太清楚类和对象的区别吧。从你的实际效果看,在page1对象中,已经对array成员变量赋值了,但page3对象中,array成员变量并没有赋值,自然就大小为0了。
------解决方案--------------------
hhhhhhhhhhhhhhhhhhhhhhhhhh
------解决方案--------------------
CListCtrl *list=(CListCtrl *)GetDlgItem(ID_XXXXX);
list->InsertItem(0,String_ip);

在关键地方加入上面的源码 就可以了,
但是 String_ip如何获的 ??
你的源码中 tItem.m_strIp 保存了 客户端的ip地址的字符串形式,你只要传递过来就好了

这是你的一部分源码

CString strMsg,shshsfrh;
shshsfrh=tItem.m_strIp;
strMsg = _T("客户端:") + tItem.m_strIp + _T(" 进入聊天室!");
pChatRoom->ShowMsg(strMsg);
// pChatRoom->SendClientsMsg(strMsg, &tItem);
//可以在这个地方插入我上面的源码,别忘了要自己定义变量。