MFC-Projekt <-- vergessen "Winsock unterstützung" zu aktivieren
-
hallo,
ich habe ein "Single document" - MFC Projekt erstellt... habe allerdings
vergessen "Winsock unterstützung" anzuklicken.was muss ich wo im nachhinein einstellen um das nachzuhohlen?
danke euch
p.s: das projekt ist schon sehr groß und habe eig. keine lust alles nocheinmal
in ein neues zu übertragen :-|
-
Naja normal werden doch nur die entsprechenden Klassen mit inkludiert (stdafx.h) ... also guck dir mal in der MSDN an, welche Header du für die Socket-Klassen der MFC brauchst ...
-
...und in den linkereinstellungen die 'ws2_32.lib' mit reinnehmen...
-
1. Füge in der stdafx.h noch folgendes hinzu:
#include <afxsock.h> // MFC socket extensions
2. Füge in dem rc-File in der Stringtable noch folgendes hinzu:
IDP_SOCKETS_INIT_FAILED "Windows sockets initialization failed."
3. Füge in dem h-File dre Resourcen noch folgendes hinzu (103 oder 104 für DlgApp 101 für kein Dialog; es darf halt keine Konflikte geben...):
#define IDP_SOCKETS_INIT_FAILED 103
4. Füge in "InitInstance" noch folgendes hinzu (nach dem aufruf der Basisklasse::InitInstance() bei DlgApp oder nach "CoInitialize(NULL);"):
if (!AfxSocketInit()) { AfxMessageBox(IDP_SOCKETS_INIT_FAILED); return FALSE; }
Siehe auch:
C:\Programme\Microsoft Visual Studio 8\VC\VCWizards\AppWiz\MFC\Application\templates\1033
-
hey danke perfekt
ich poste mein 2tes problem einfach mal hier weil es so ca. hierhin passt
ich habe eine eigene Klasse von CAsyncSocket abgeleitet und möchte aus dieser
Klasse nun Methoden meiner View-Klasse aufrufen!!wie machen ich das? der Klasse einen Pointer auf meine View-Klasse übergeben?!
danke euch
-
babelduo schrieb:
wie machen ich das? der Klasse einen Pointer auf meine View-Klasse übergeben?!
besser umgekehrt, der view klasse einen pointer auf die socket klasse geben.
oder noch besser: der document klasse den socket geben, ähnlich wie die doc-klasse auch den view hat (frei nach dem model-view-controller konzept). aber eigentlich egal. mach's so wie's für dich am besten passt
-
aber wenn ich der View-Klasse einen Pointer auf die Socket klasse gebe,
wie kann ich dann erreichen, das wenn OnReceive in der Socket-Klasse
aufgerufen wird - auch eine Methode in meiner View aufgerufen wird?!deswegen wollte ich ja wenn ein EventHandler in der Socket-Klasse aufgerufen
wird, das er dann (über einen pointer?!) eine Methode meiner View aufruft!dank schonmal
-
Aus diesem Grunde solltest Du es ja in Deiner Dokumenten-Klasse aufnehmen und *nicht* in der View-Klasse!
Ein Dokument kann ja schliesslich mehrere Views haben...