P
Ja aber ich hab vorher noch einen Pointer auf ein CRecordset welches dNIM heisst. Und er hat beim Debuggen auf der Open()-Zeile des dNIM Probleme, eben weil die vorherigen nicht sauber geschlossen wurden. Den Pointer gelöscht hab ich auch, dCell, dSite und dNIM sind auch alle gelöscht und geschlossen...
void CProcess::SitesThisMonth() //OUTPUT 4
{
CAddFunctions AF;
CDatabaseNIM* dNIM;
CDatabaseSite* dSite;
int dYear;
int dMonth;
int dDay;
CString writestring;
CTime TCurrentDate = CTime::GetCurrentTime();
CString currentDate = TCurrentDate.Format("%d.%m.%Y");
CString SCurrentDay = TCurrentDate.Format("%d");
int currentDay = atoi(SCurrentDay);
CString SCurrentMonth = TCurrentDate.Format("%m");
int currentMonth = atoi(SCurrentMonth);
CString SCurrentYear = TCurrentDate.Format("%Y");
int currentYear = atoi(SCurrentYear);
CFile sitesThisMonthFile(AF.CStringFormat("%s\[FG %s] Sites this Month.txt", outputLocation, currentDate), CFile::modeCreate | CFile::modeWrite);
dNIM = new CDatabaseNIM(NULL);
dNIM->Open(CRecordset::snapshot, NULL, CRecordset::readOnly);
for(int i = 0; i < dNIM->GetRecordCount(); i++) //AS LONG AS WE ARE IN A ROW
{
dYear = dNIM->m_MS23ForecastDate.GetYear();
dMonth = dNIM->m_MS23ForecastDate.GetMonth();
dDay = dNIM->m_MS23ForecastDate.GetDay();
if(dYear == currentYear && dMonth == currentMonth && dDay > currentDay)
{
dSite = new CDatabaseSite(NULL);
dSite->m_strFilter = "Site LIKE '" + dNIM->m_SiteReference + "%'";
dSite->Open(CRecordset::snapshot, NULL, CRecordset::readOnly);
for(int c = 0; c < dSite->GetRecordCount(); c++)
{
if(dSite->m_Site != "") //IF THERE WAS FOUND A ENTRY
{
writestring = AF.CStringFormat("%s\r\n", dSite->m_Site);
sitesThisMonthFile.SeekToEnd();
sitesThisMonthFile.Write(writestring, writestring.GetLength());
}
dSite->MoveNext();
}
dSite->Close();
}
dNIM->MoveNext();
}
sitesThisMonthFile.Close();
dNIM->Close();
delete dSite;
delete dNIM;
}
Und ich hab 10 solche Funktionen. Natürlich erfüllt jede nen anderen Filterprozess, aber der Aufbau etc. ist bei allen gleich. Hab ich da was vergessen zu schliessen oder löschen?