tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
341
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von mstank
    mstank mstank ist offline Mitglied Silber
    Registriert seit
    Nov 2004
    Ort
    Herten (NRW)
    Beiträge
    55
    Hallöchen an alle!

    In einer dialogbasierten Anwendung habe ich die Klasse CMySocket von CAsyncSocket abgeleitet. In der Dialogklasse definiere ich einen Zeiger auf CMySocket:

    Code :
    1
    
    CMySocket* m_pUDPSocket;

    Wie im MSDN-Beispielprog.

    Die Headerdatein sind richtig eingebunden (Anzahl und Reihenfolge). An der Reihenfolge schien es gestern gehapert zu haben!

    Durch den Compiler geht das Prog. Will ich es aber starten, wird es sofort beendet und der Zugriffsverletzung wurde festgestellt.

    Wer kann mir sagen, was ich beachten muß?

    THX Markus
     
    Ergib dich der dunklen Seite der Macht!

  2. #2
    Registriert seit
    Jul 2003
    Ort
    Duisburg (NRW)
    Beiträge
    1.788
    Vermutlich musst du dem Zeiger was geben, auf das er zeigen kann, weil er ja irgendwo in die Pampa zeigt, wenn er noch nicht initialisiert wurde.

    Da käme so etwas in Frage:
    Code :
    1
    
    CMySocket* m_pUDPSocket = new CMySocket( /* ... */ );

    Und natürlich am Ende auch wieder freigeben:
    Code :
    1
    2
    
    delete m_pUDPSocket ;
    m_pUDPSocket = 0;
     
    Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."

  3. #3
    Avatar von mstank
    mstank mstank ist offline Mitglied Silber
    Registriert seit
    Nov 2004
    Ort
    Herten (NRW)
    Beiträge
    55
    Hi Peter!

    Danke für deine Antwort!

    Das mit dem Löschen des Zeigers habe ich 5 mal gefunden.Beispiel:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
     void CMsocudpDlg::OnDestroy() 
    {
     CDialog::OnDestroy();
     if (m_pUDPSocket)
     {
      m_pUDPSocket->Close();
      delete m_pUDPSocket;
     } 
    }
    Aber einen Zeiger erzeugen, fand ich im Originalcode nicht.
     
    Ergib dich der dunklen Seite der Macht!

Ähnliche Themen

  1. INT to CHAR Zugriffsverletzung
    Von WorldRacer im Forum C/C++
    Antworten: 2
    Letzter Beitrag: 13.10.08, 16:43
  2. Antworten: 0
    Letzter Beitrag: 27.12.07, 16:08
  3. Zugriffsverletzung bei Vektoren
    Von Merlin732 im Forum C/C++
    Antworten: 7
    Letzter Beitrag: 21.12.06, 09:36
  4. Zeiger auf Zeiger nicht verstanden
    Von Razorhawk im Forum C/C++
    Antworten: 6
    Letzter Beitrag: 17.10.05, 12:24
  5. Antworten: 4
    Letzter Beitrag: 08.09.04, 05:28