Fehler beim Compilieren eines .net-Programmes
-
Hallo Jochen
Vielen Dank für Deinen Hinweis. Ich habe nun in den Compiler-Optionen unter General Uso of ATL den Wert: Static link to ATL gesetzt.
Leider komme ich das Projekt immer noch nicht zum Compilieren
Da wird man fast verrückt
Beste Grüsse
GeriPS: interessante Web-Seite hast du da:)
-
Jochen Kalmbach schrieb:
Ich würde mal sagen, da sind sehr viele Fehler drin... das erste ist, dass Du kein ATL einbindest, es aber von ServerSocket vorrausgesetzt wird...
Jochen meinte hiermit eher das du mal prüfen sollst ob die Headerdateien der benötigten ATL in deinem Projekt eingebunden sind...
-
Hallo guenni81
Vielen Dank für Deine Hilfe. Nun habe ich in die beiden Libraries, die ich eingebunden habe die Anweisung: #include "atlbase.h" geschrieben nun sieht es bereits um Vieles besser aus.
Nun erscheint aber eine neue Meldung:
fatal error C1189: #Error : include 'stdafx.h' before including this file for PCH
Im Web habe ich ich leider keine Lösung gefunden. Muss ich da irgendwie die Compiler-Direktiven änderenBeste Grüsse
Geri
-
In den Eigenschaften der Datei in der der Fehlerauftritt stellst du ein, dass er keine vorkompilierten Header verwenden soll, dann sollte es tun.
-
Hallo dEUs
Vielen Dank für Deine Hilfe! Über den Projekt-Explorer habe ich geschaut, dass vorcompilierte Header ausgeschaletet sind. Das war auch so.
..
Hast du bitte vielleicht noch eine Idee die ich probieren könnte?
Freundliche Grüsse und nochmals vielen Dank
Geri
-
Hallo zusammen
Nun habe ich es geschafft, das Programm zu compilieren. Der Fehler lag daran, dass ich noch ein header-File der "alten" VC 6- Anwendung eingebunden hatte und mit nicht aufgefallen ist, es zu entfernen.
Nun habe ich aber ein anderes Problem. Wenn ich die Programmzeile
SOCKET sock = socket(nFamily, nType, 0);
nFamily = 1; = AF_INET
nType = SOCK_STREAMIch frage mich, was man hier noch falsch machen kann?
erhalte ich den Rückgabewert 10093: Socket error (#10093): Successful WSAStartup not yet performed.
Im inet habe ich bereits gesucht, bin aber nicht schlau daraus geworden. Kann mir hier bitte vielleicht jemand weiter helfen.
Vielen Dank und freundliche Grüsse
Geri
-
Die Fehlermeldung ist doch sehr deutlich. WSAStartup ist eine Funktion.
-
Hi Geri,
hast du am Anfang deiner Anwendung
WSADATA wsaData; int err; wVersionRequested = MAKEWORD( 2, 2 ); err = WSAStartup( wVersionRequested, &wsaData ); ...
aufgerufen? Wenn nicht, wie oben beschrieben aufrufen. Dann sollte es tun...
Gruss
Tobi
-
Hallo Tobi und 10093
Vielen Dank für Eure Antwort, es funktioniert nun!!!!:):)
Ich empfange Zeichen:)
Nun habe ich aber ein neues Problem:
ich habe zwei Klassen
class CSocketComm { ... void CSocketComm::Run() virtual void OnDataReceived(const LPBYTE lpBuffer, DWORD dwCount); } class CSocketManager : public CSocketComm { public: CSocketManager(); virtual ~CSocketManager(); virtual void OnDataReceived(const LPBYTE lpBuffer, DWORD dwCount); } CSocketManager mySocket;
Die Methode Run wird erfolgreich ausgeführt und wenn Daten empfangen werden darin OnDataReceived aufgerufen. Die empfangenen Zeichen stehen auch tatsächlich in einem Puffer (geprüft mit dem Debugger).
Das Programm stürzt aber mit der Fehlermeldung:
"There is no source code available for the current location"OnDataReceived habe ich im Socket-Manager aber implementiert. Falls ich das Objektorientierte Konzept richtig verstanden habe, dann müsse OnDataReceived von mySocket doch aufgerufen werden??
Ach ja, vielleicht ist das noch wichtig. CSocketComm::Run(), also die BasisKlasse con CSocketManager läuft in einer Thread und ruft dort OnDataReceived auf.
Vielen Dank für Eure Hilfestellung
Geri
-
Hallo zusammen
Nun ist mir noch etwas kurioses aufgefallen.
1.) lege eine Variable der Klasse CSocketManager an z.B. TestSock
2.) schreibe z.B. in eien Button click-Methode TestSock->OnDataReceive
3.) setze einen Haltepunkt darauf
4.) Starte Programm und drücke den Buttondann erhalte ich auch den Fehler "There is no source code available for the current location.
Wenn ich keinen Haltepunkt darauf setze, dann passiert gar nichts.
Anbei das Programm
Weiss hier bitte jemand weiter?
http://www.burger-web.com/Downloads/CPlusPlus/SocketTest2.zipVielen Dank und beste Grüsse
Geri