Threadproblem beim senden von großen files



  • hi!

    ich habe folgendes kurioses Problem, ich erstelle einen thread mit:

    CWinThread * Callback_Thread;
        Callback_Thread = AfxBeginThread(
                   ThreadSend,               // function to run on thread
                   (LPVOID)this,                // value to pass to function
                   THREAD_PRIORITY_NORMAL,   // thread's priority
                   0,                        // stack size
                   CREATE_SUSPENDED,         // create susupended thread
                   NULL);               
    
    	//start thread
    	Callback_Thread->ResumeThread();
    
    	MessageBox(NULL, (CString)"Irgendwas", "Titel", MB_OK);
    

    Erstens: Wenn ich die messageBox wegnehme hängt sich das ganze sofort auf. wenn die messagebox dort ist, kann ich ein kleines file senden(ca. 200kb) aber kein größeres mit ca 3mb, da hängt er sich nach ca 5 sec. auf.

    Die Verbindung ist eine CFtp connction

    herzlichen dank ... ich weiß echt nicht mehr weiter...



  • Glaubst du das dein Zeiger (Callback_Thread) noch gültig ist wenn die Funktion verlassen wird wo du den Thread aufrufst ?

    Hast du eine von CWinThread abgeleitete Klasse ?



  • Gute Frage!

    Also ich bleibe in der gleichen Klasse.
    Das ist die Threadfunktion...

    UINT ThreadSend(LPVOID  xthis)
    {
    	int tsg_return = 0;
    
    	Transaction* _this = (Transaction*)xthis;
    	tsg_return = _this->sendFile();
    
    	return 0;
    }
    

    Transaction ist der Klassenname und sendFile() ist in der gleichen Klasse.
    ???

    Wenn ich kleinere files schicke gehts ja aber bei größeren bricht er ab und wenn ich die messagebox wegnehme ist es ganz vorbei, da stürzt er gleich ab beim send button drücken...

    was ist da los???

    danke


Anmelden zum Antworten