Zugriffsverletzung durch Zeiger

mstank

Mitglied
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:
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
 
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:
CMySocket* m_pUDPSocket = new CMySocket( /* ... */ );

Und natürlich am Ende auch wieder freigeben:
Code:
delete m_pUDPSocket ;
m_pUDPSocket = 0;
 
Hi Peter!

Danke für deine Antwort!

Das mit dem Löschen des Zeigers habe ich 5 mal gefunden.Beispiel:
Code:
 void CMsocudpDlg::OnDestroy() 
{
 CDialog::OnDestroy();
 if (m_pUDPSocket)
 {
  m_pUDPSocket->Close();
  delete m_pUDPSocket;
 } 
}
Aber einen Zeiger erzeugen, fand ich im Originalcode nicht.
 
Zurück