Hallo,
bei dem Versuch eine Datei zu öffnen wird als "errno_t Wert" folgendes zurückgeliefert:
hr=0000000d
Somit ist ein Fehler aufgetreten, da bei Erfolg eine 0 der Rückgabewert wäre.
Nun kann ich damit aber absolut nichts anfangen. Weiß einer was für ein Fehler das ist? Was mich auch Iritiert ist, dass er doch eigentlich dann in die If-Bedingung erfüllt sein müsste.
Mir würde es auch schon Weiterhelfen, wenn ich wüsste was in der Variablen "m_LogFile" stehen würde. Da es sich aber um einen Zeiger handelt, weiß ich nicht wie die Debugausgabe lauten muss.
Ich nehme stark an, das m_LogFile nicht richtig gesetzt wird, und er daher in der Methode Log() nichts in Logdatei schreiben kann. Auf die Debug Konsole werden die zu schreibenden DAten ausgegeben.
Hier einmal der Coderteil:
bei dem Versuch eine Datei zu öffnen wird als "errno_t Wert" folgendes zurückgeliefert:
hr=0000000d
Somit ist ein Fehler aufgetreten, da bei Erfolg eine 0 der Rückgabewert wäre.
Nun kann ich damit aber absolut nichts anfangen. Weiß einer was für ein Fehler das ist? Was mich auch Iritiert ist, dass er doch eigentlich dann in die If-Bedingung erfüllt sein müsste.
Mir würde es auch schon Weiterhelfen, wenn ich wüsste was in der Variablen "m_LogFile" stehen würde. Da es sich aber um einen Zeiger handelt, weiß ich nicht wie die Debugausgabe lauten muss.
Ich nehme stark an, das m_LogFile nicht richtig gesetzt wird, und er daher in der Methode Log() nichts in Logdatei schreiben kann. Auf die Debug Konsole werden die zu schreibenden DAten ausgegeben.
Hier einmal der Coderteil:
C++:
...
FILE* m_LogFile;
...
CLogFile::CLogFile()
{
m_LogFile=NULL;
m_Initialized=false; //Not Use in this Filter
DBGTRACEF("Konstrucktor CLogfile");
}
HRESULT CLogFile::OpenLog(LPCSTR pszLogFileName)
{
......
// Open the log file
DBGTRACEF(("Opening log file %s\n",szExpLogFileName));
//#if (_MSC_VER >= 1400 ) //For compiling with VS2005
HRESULT hr = fopen_s(&m_LogFile , szExpLogFileName,"w");
DBGTRACEF(("Opening LogFile, hr=%08x \n",hr));
if (!hr)
{
DBGTRACE("Failed to open log file:\n");
return E_FAIL;
}
//#endif
return S_OK;
}
void CLogFile::Log(__in char* formatStr,...)
{
va_list ArgList;
va_start(ArgList, formatStr);
DBGTRACE("Befor Logfile written\n");
//DBGTRACEF(("m_LogFile is: %s\n",m_LogFile));
if (m_LogFile != NULL)
{
vfprintf(m_LogFile,formatStr, ArgList);
DBGTRACE("Logfile written\n");
Flush();
}
#ifdef _DEBUG
// in debug, also print everything to the debug console
PrintTraceWithArgs(formatStr, ArgList);
#endif
va_end(ArgList);
}
Zuletzt bearbeitet von einem Moderator: