Red de conocimiento informático - Aprendizaje de programación - Problemas con el control de direcciones IP en MFC

Problemas con el control de direcciones IP en MFC

DoModal() crea un cuadro de diálogo modal y no regresa hasta que se borra el cuadro de diálogo.

Su llamada (aDlg.m_IpAddress).GetAddress(f0,f1,f2,f3); necesita obtener la entrada de la ventana de control de IP, y la ventana ya no está allí, por lo que se produjo un error.

Se puede considerar constructor.

Supongamos que tu tipo aDlg es CXXXDlg

Puedes modificar el constructor a (recuerda que la declaración en la clase también debe modificarse)

CXXXDlg:: CXXXDlg(DWORD& dwAddress, CWnd *pParent)

: m_dwAddress(dwAddress)

{

}

Y agregue miembros DWORD& m_dwAddress;

Al salir del cuadro de diálogo m_IpAddress.GetAddress(m_dwAddress);

Luego al llamar:

DWORD dwAddress;

CXXXDlg aDlg( dwAddress , this);

if(aDlg.DoModal() == IDOK)

{

//ip se guarda en dwAddress

}