Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Kein Return-wert wenn Aufruf in ein Winapi Funktion etc..??

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
09.01.2003, 17:27 Uhr
~Micha03
Gast


Hallo Forumsteilnehmer,
ich habe folgendes Problem:
Ich habe eine WINAPI Funktion definiert "DWORD WINAPI StartEvaluationFunction(LPVOID ThreadId)" diese wird in meine MFC-Hauptanwendung als Thread aufgerufen.
In dieser Funktion wird meine Berechnungfunktion "vbgetResultFile(...)"
aufgerufen. (siehe Code unten) ICH BEKOMME NICHT DEN RÜCKGABEWERT
DER FUNKTION "vbgetResultFile(...)" geliefert.

Tue ich die Funktion in einer MFC-Funktion direkt aufrufen bekomme ich den
Rückgabewert (FehlerNummer) dieser Funktion.

Wer weiß wo der Fehler liegen kann. Danke für eure Tips.

C++:
/* ** Die Berechnungsfunktion wird hier aufgerufen ************* */
/* Diese Funktion wird als Thread aufgerufen */
DWORD WINAPI StartEvaluationFunction(LPVOID ThreadId)
{
    static int    ThreadNr;
    static char   textbuff[256], tx[80];    // Nur Ausgabetext

   if (FehlerNummer = vbgetResultFile(*(long *)ThreadId, LogDatei, AnzahlDateien+1, Namenskette))
    {    
        sprintf(textbuff,"\n*** Fehler aufgetreten:%d\n", FehlerNummer);
        SetDlgItemText(td.hWnd,IDC_MELDUNGEN, textbuff);
        Beep(1000,100);
        return FehlerNummer;
    }
    return 0L;
}

Dieser Post wurde am 09.01.2003 um 17:53 Uhr von Uwe editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
09.01.2003, 21:31 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


Wieso benutzt du nicht GetExitCodeThread?
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
09.01.2003, 22:26 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo Micha,
warum benutzt Du hier

C++:
if (FehlerNummer = vbgetResultFile...
den Zuweisungsoperator?
--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
10.01.2003, 09:20 Uhr
~Micha03
Gast


Hallo Uwe und Flosoft,

liefert mir die Funktion vbgetResultFile(..) eine 0 ist die Berechnung erfolgreich
durchgelaufen. Liefrt mir die Funktion einen andren Wert ist ein Fehler aufgetreten und Anhand des Wertes kann ich die richtige Fehlermeldung ausgeben.

Die Funktion vbgetResultFile(...) ist eine dll-Funktion.

ich weiß nicht ob GetExitCodeThread mir den Rückgabewert
der Berechnungsfunktion vbgetResultFile(...) liefern kann muß ich ausprobieren.

Daß was mich iritiert ist daß ich einen Wert zurückbekomme wenn ich die Funktion vbgetResultFile(...) in meine Haupt-MFC Anwendung aufrufe.

Danke für weitere Tipps.
 
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: