000
09.10.2003, 22:33 Uhr
Philipp
|
Ja, ich habe wieder mal neue Probleme mit meinem ChatServer, nur dieses mal ist die Sache etwas verworrener.
Also, der ChatServer ist mittlerweile Version 0.8 und sollte auch relativ ausgereift sein(dachte ich jedenfalls), also gebe ich den heute nem Freund zum testen, und was sagt der mir : Das Ding startet bei ihm nicht. Heute abend hab ich nem anderen Freund dann nochmal das prog gegeben, bei dem funzt er auch nicht.
Freund1 hat WinXP ohne SP, Freund 2 hat Win2000 ohne SP... Ich habe an meinem 2600er Win2000 SP4(Programm funktionert), und an meinem 500er Win2000 SP3(Programm funktioniert ebenfalls).
Das lustige ist : Bei mir klappt der EINWANDFREI, es gibt so gut wie garkeine Probleme! Jetzt mal zur Problembeschreibung: Wie gesagt bei mir gibt es das Problem nicht, dass macht hauptsächlich auch die Schwierigkeit aus! Wenn also einer dieser beiden Freunde meine ChatServer.exe startet, dann passiert bei ihm "garnichts", soll heißen sie sehen kein Fenster. Das hat mich schonmal sehr verwundert, habe dann das Log-Verhalten des ChatServers etwas angepasst, sodass ich sehe wie weit er kommt, und ich muss sagen, ich bin wirklich enttäuscht, denn ChatServer stürzt schon in OnInitDlg ab! Damit ihr das mal richtig nachverfolgen könnt mal einige Ausschnitte aus dem beim Start aufgerufenen Code sowie den LogFiles(anmerkung : Die Klasse ChatCore erbt public von CAsyncSocket).
1) CChatServerDlg::OnInitDlg()
C++: |
//Initialisieren des Netzwerks per AfxSocketInit(=erfolgreich), danach erstellen der Log Files(=ebenfalls erfolgreich)
ChatMessageLog<<"*** ChatMessageLog of ChatServer - copyright (c) 2003 by PhilippOettershagen ***"<<endl; ChatMessageLog<<"*** See readme.txt for further informations"<<endl; ChatMessageLog<<"*** Current Time: "<<GetTime(false); ChatMessageLog<<"*** In this LogFile, ChatServer stores all the messages sent by its clients!"<<endl<<endl;
ApplicationStateLog<<"*** ApplicationStateLog of ChatServer - copyright (c) 2003 by PhilippOettershagen ***"<<endl; ApplicationStateLog<<"*** See readme.txt for further informations"<<endl; ApplicationStateLog<<"*** Current Time: "<<GetTime(false); ApplicationStateLog<<"*** In this LogFile, ChatServer stores the App's State and special commands sent!"<<endl<<endl; ApplicationStateLog<<GetTime()<<"Initiating Application..."<<endl;
ApplicationStateExLog<<"*** ApplicationStateExLog of ChatServer - copyright (c) 2003 by PhilippOettershagen ***"<<endl; ApplicationStateExLog<<"*** See readme.txt for further informations"<<endl; ApplicationStateExLog<<"*** Current Time: "<<GetTime(false); ApplicationStateExLog<<"*** In this LogFile, ChatServer stores extended App's State, used to debug the app!"<<endl<<endl; ApplicationStateExLog<<GetTime()<<"Initiating Application..."<<endl;
//CCore Creation ApplicationStateExLog<<GetTime()<<"DEBUG_OnInitDialog_1"<<endl; ApplicationStateExLog<<GetTime()<<"Creating ChatCore..."; if(CCore.Create()!=CCORE_SUCCESS)//Create ChatCore AfxMessageBox("Error creating ChatCore!"); ApplicationStateExLog<<"Done"<<endl; ApplicationStateExLog<<GetTime()<<"DEBUG_OnInitDialog_2"<<endl; ApplicationStateExLog<<GetTime()<<"Setting LogFiles for ChatCore..."; CCore.SetLogFiles(&ChatMessageLog,&ApplicationStateLog,&ApplicationStateExLog); ApplicationStateExLog<<"Done"<<endl;
ApplicationStateExLog<<GetTime()<<"DEBUG_OnInitDialog_3"<<endl; ApplicationStateExLog<<GetTime()<<"Retrieving Computer's IPAdresses..."; CCore.GetLocalIPs(); //GetPCs IPAddresses ApplicationStateExLog<<"Done"<<endl; ApplicationStateExLog<<GetTime()<<"DEBUG_OnInitDialog_4"<<endl; ApplicationStateLog<<"Done"<<endl;
|
ChatCore::Create
C++: |
iPort=0; iMaxClients=0; iConnectedClients=0; strIPAddress="0.0.0.0"; strPassword=""; strChatTopic="";
bInit=false;
return CCORE_SUCCESS;
|
Und die ApplicationStateEx.log
Code: |
*** ApplicationStateExLog of ChatServer - copyright (c) 2003 by PhilippOettershagen *** *** See readme.txt for further informations *** Current Time: Thu Oct 09 20:32:24 2003 *** In this LogFile, ChatServer stores extended App's State, used to debug the app! 20:32:24 Initiating Application... 20:32:24 DEBUG_OnInitDialog_1
|
So... das wären die meiner Meinung nach wichtigen Teile... Fehlerverhalten ist halt folgendes : Er gibt noch DEBUG_OnInitDialog1 aus, d.h. Logfiles sind initialisiert, Netzwerk auch. Doch dann wird CCore.Create() aufgerufen, und das Ergebnis ist, dass kein Log-Eintrag mehr kommt, die Anwendung sich aber beendet. Habe versucht ein wenig daran rumzuspielen, und habe mal die Funktion ChatCore::SetLogFiles als erstes laden lassen, um danach CCore.Create() aufzurufen, aber das hat auch nichts gebracht.
ChatCore::SetLogfiles(ofstream *NewChatMessageLog, ofstream *NewApplicationStateLog, ofstream *NewApplicationStateExLog)
C++: |
if(NewChatMessageLog==NULL || NewApplicationStateLog==NULL || NewApplicationStateExLog==NULL) return CCORE_ERROR; ChatMessageLog=NewChatMessageLog; ApplicationStateLog=NewApplicationStateLog; ApplicationStateExLog=NewApplicationStateExLog; return CCORE_SUCCESS;
|
Resultat war das gleiche, DEBUG_OnInitDialog_1 wird noch ausgegeben, der Rest nix. Irgendwas stimmt also mit CCore nicht, nur was???Habe als erstes versucht, in CCore::Create() CAsyncSocket::Create() aufzurufen um den CAsyncSocket erstmal zu initialisieren, aber auch das hat nichts gebracht!
Wie schonmal gesagt, ich hab das alles nicht bei mir testen können, denn bei mir läuft das Prog, halt nur bei meinen 2 Freunden net. Hab denen die Release Version gegeben mit Einstellung "Größe minimieren".
Interessant ist, dass das Prog bei dem einen Freund läuft, wenn er den Source(hab ich ihm gegeben) in seinem VC++ kompiliert und ausführt, also aus dem Studio raus. Wenn er allerdings kompiliert und dann die kompilierte+gelinkte Exe ausführen will, stürzt das Prog wieder ab
Helft mir plz, ich weiß echt nicht was das für ein Fehler sein kann!
THX Philipp Dieser Post wurde am 09.10.2003 um 22:42 Uhr von Philipp editiert. |