Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Wundersame CSocket + Thread

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
04.01.2005, 23:09 Uhr
~Flapsi01
Gast


Ich versteh es nicht, warum gibt


C++:
UINT MeineFunktion(LPVOID pParam){
    CSocket client;
    client.Create();
.
.
.
    client.Close();
    return 0;
}

void CSockTestDlg::OnBnClickedButton1()
{
    int pParam=0;
    AfxBeginThread(MeineFunktion,&pParam);
}



einen Fehler bei der Ausführung von client.Create(), wenn ich das Projekt unter der Option "MFC in einer statischen Bibliothek verwenden" laufen lasse ? Wenn ich das Projekt mit der Option "MFC in einer gemeinsam genutzten DLL verwenden" compiliere und ausführe ist alles ok und es läuft (jedoch nur zuverlässig im Debug-Modus).

Kann mir da jemand helfen ?

Gruß

Flapsi
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
05.01.2005, 14:53 Uhr
Flapsi



Mittlerweile hat sich eine Lösung gefunden (die ist für die, die es interessiert :-)):

Wenn man CSocket nicht im primären Thread verwendet, muß in jedem Thread vor der Deklaration von CSocket der Socket mit AfxSocketInit(NULL) initialisiert werden. Falls das nicht klappt (bei mir bei VC6.0 und WindowsNT) muß man die in

http://support.microsoft.com/kb/193101/en-us

beschriebene Funktion zur Initialisierung verwenden.

Gruß

Flapsi

Dieser Post wurde am 05.01.2005 um 14:54 Uhr von Flapsi editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: