Eigene IP Adresse mit CIPAddressCtrl anzeigen



  • HAllo,
    ich möchte wie oben beschrieben die eigene IP Adresse mit CIPAddressCtrl anzeigen.

    Aber mit SetAddress bekomm ich nur Fehler.

    Hat da mal jemand einen Code Schnipsel ??



  • Zeig doch mal (a) den genauen Code und (b) die Meinung des Compilers zu diesem Code (aka Fehlermeldungen).



  • // TODO: Fügen Sie hier Ihren Meldungsbehandlungscode ein, und/oder benutzen Sie den Standard.
    	int reg;
    	AfxSocketInit(NULL);
    	hostent *hEnt = 0;
    	char hostname[20];
    	DWORD dwAdress;
    
    	CSpielfeld dlg;
    
    	gethostname(hostname, 20);
    	hEnt = gethostbyname( hostname );
    	if ( hEnt )
    	{
    		CString ipAdd = inet_ntoa( *(LPIN_ADDR)*hEnt->h_addr_list); // Eigene IP Adresse holen
    
    		LPCTSTR one = strtok(ipAdd.GetBuffer(ipAdd.GetLength()), "."); // IpAdresse zerlegen
    		LPCTSTR two = strtok(0, ".");
    		LPCTSTR three = strtok(0, ".");
    		LPCTSTR four = strtok(0, ".");
    
    		BYTE wOne = atoi(one);
    		BYTE wTwo = atoi(two);
    		BYTE wThree = atoi(three);
    		BYTE wFour = atoi(four);
    
    		dlg.m_ipadresse.SetAddress(wOne, wTwo, wThree, wFour); // IP Adresse in Dialogfeld eintragen
    
    		reg = dlg.DoModal();
    	}
    	// Ende Funktion
    

    In der Zeile SetAdress passiert dies:

    Debud Assertion failed

    File : ..... afxcmn2.inl Line 350



  • Der Fehler ist in der Zeile

    dlg.m_ipadresse.SetAddress(wOne, wTwo, wThree, wFour); // IP Adresse in Dialogfeld eintragen
    

    und würde dir mit JEDEM Control passieren.
    Mach dir Datenmember und fülle die mit der IP. Dann kannst du in OnInitDialog die Datenmember in das IP-Control übertragen.


Anmelden zum Antworten