Zwecks Testzwecken :
Wie kann ich überprüfen welchen Wert mein Programm zurück gibt ??
Also wenn ich es z.B in einem anderen Prog öffne wie bekomme ich dann den Rückgabewert meines Progs raus??
Zwecks Testzwecken :
Wie kann ich überprüfen welchen Wert mein Programm zurück gibt ??
Also wenn ich es z.B in einem anderen Prog öffne wie bekomme ich dann den Rückgabewert meines Progs raus??
Also entweder mit eine Batchdatei (reine Textdatei mit der endung .bat)
Unter Win2000/XP:
-ODER du schreibst ein separates Programm und rufst das Programm dann mit der C Funktion _spawn auf
-ODER du schaust dir einfach das Ausgabefenster des Debuggers an,da wird das auch angezeigt.
Peter
Also ich habe des mit der Batch Datei versucht da ich Win XP habe !!
Des Funktioniert auch soweit nur ist der Rückgabewert immer 0 0 !!!!
Selbst wenn meine InitInstance so aussieht :
int CDbApp::InitInstance()
{
#ifdef _AFXDLL
Enable3dControls(); // Diese Funktion bei Verwendung von MFC in gemeinsam genutzten DLLs aufrufen
#else
Enable3dControlsStatic(); // Diese Funktion bei statischen MFC-Anbindungen aufrufen
#endif
return 1;
}
Alles anzeigen
müsste ich dann nicht ne 1 erhalten??
bekomme immer :
Zitat
echo 0
0
raus
Hallo,
nein Intitinstance Rückgabewerte:
"Nonzero if initialization is it is successful; otherwise, it is zero.",
das hat wenig mit dem Rückgabewert eines Programms zu tun.
Der Rückgabewert von CWinApp::ExitInstance() ist da schon besser.
int CDbApp::ExitInstance()
{
// TODO: Speziellen Code hier einfügen und/oder Basisklasse aufrufen
return CWinApp::InitInstance();
}
Nur habe ich nun dass Problem dass wenn ich folgenden Code benutze ruft er 1. zweimal die InitInstance auf und 2. bringt er mir wieder die obige Fehlemeldung
int CDbApp::ExitInstance()
{
// TODO: Speziellen Code hier einfügen und/oder Basisklasse aufrufen
return CWinApp::InitInstance();
}
Fehlermeldung :
" Debug Assertion Failed!
Programm : C:..........db.exe
File : daocore.cpp
Line : 42
.....
"
Okay habe den Fehler gefunden :-)!!! Es lag daran dass ich nicht mit AfxDaoTerm(); beendet habe !!! Bekomme jetzt die gewünschten Rückgabewerte zurück ( Im Debug - Ausgabe Fenster && mit der Batchdatei )!! jetzt versuch ich noch eine seperates Programm zu schreiben !! Danke für deine bzw. Eure Hilfe !!!
Das meinte ich überhaupt nicht!
ExitInstance->Nunja wie auch immer aber diese Funktion wird mit Sicherheit irgendwann im "BEENDIGUNGSVORGANG" aufgerufen,
IintiInstance->Wird beim "STARTVORGANG" aufgerufen.
(vielleicht nur ein schreibfehler ?) übersetzt in ein C Programm würde das doch folgendes heissen:
(Pseudocode,dient nur als Beispiel)
//Überschreiben der Standart Exit Funktion
void exit()
{
main();
}
void main()
{
//Tue irgendwas
//Tue nochmehr
exit();// ??? springe zurück zu main()
}
Weist du jetzt was mich an deinem Codebeispiel etwas verwirrt? 8O
mfg
Peter
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!