Esempio n. 1
0
MBASEAPI void MIRACLEEXPORT _logDebug(LPCTSTR msg)
{
	if(!initlog) logInit();
	FILE *f = fopen(strDebugFile,"a+t");
	if (f!=NULL)
	{
		try
		{
			CTime Time = CTime::GetCurrentTime();
			CString TimeStr = Time.Format("%d/%m/%Y-%H:%M:%S:");
			fprintf(f,"%s%s \n",TimeStr,msg);
		}
		catch(...)
		{
			TRACE0("Error on Log.");
			ASSERT(FALSE);
		}
		fclose(f);
	}
	TRACE0(msg);TRACE("\n");
	if(gwndDebug != NULL)
	{
		if((gwndDebug->GetSafeHwnd() != NULL) && ::IsWindow(gwndDebug->GetSafeHwnd()))
		{
			try
			{
				CString str = msg;
				str.Replace(_T("\n"), _T("\r\n"));
				if(str.Find('\n')<0)
					str +="\r\n";
				CString strWndText;
				gwndDebug->GetWindowText(strWndText);
				strWndText += str;
				gwndDebug->SetWindowText(strWndText);
				CEdit e;
				CRuntimeClass *r = e.GetRuntimeClass();
				if(gwndDebug->IsKindOf(r))
				{
					CEdit *wndEdit = (CEdit*) gwndDebug;
					wndEdit->LineScroll(-wndEdit->GetLineCount());
					wndEdit->LineScroll(wndEdit->GetLineCount()-4);
				}
				//gwndDebug->SendMessage(EM_SCROLLCARET);
			}
			catch (...)
			{
				//16/11/10 Tarihinde eklendi progrma çýkýþýnda hata vermeyi engellemek için.
				gwndDebug = NULL;
			}
			
		}
	}
}