Re: Bug in my C++ program seems really strange. (Update on debugging progress)
On Sep 1, 12:57 am, "Alf P. Steinbach" <al...@start.no> wrote:
* Gianni Mariani:
mike3 wrote:
On Aug 31, 10:32 pm, "Alf P. Steinbach" <al...@start.no> wrote:
...
http://www.mediafire.com/?cfmzd1y3yij
How does one build all that ?
Changes to make it /compile/:
fracalg\computefrac.cpp(371):#if 0 //APS
fracalg\computefrac.cpp(378):#endif //APS
fracalg\computefrac.cpp(393):#if 0 //APS
fracalg\computefrac.cpp(396):#else //APS
Excuse me, why all this? Those were commented
out for debugging purposes to help minimalize
the code.
fracalg\computefrac.cpp(397): err = FG3DError(FG3D_INVALID_FRACTAL_TYPE,
FractalType); //APS
fracalg\computefrac.cpp(398):#endif //APS
This too.
render\render.cpp(51): //APS MessageBox(NULL, TEXT("Zorg."),
TEXT(""), MB_OK);
render\render.cpp(69): //APS MessageBox(NULL, TEXT("Borg."),
TEXT(""), MB_OK);
Why couldn't it compile with those in?
win32\CMainWnd.cpp(52): wcx.hCursor = LoadCursor(0,
IDC_ARROW); //APS LoadCursor((HANDLE)NULL, IDC_ARROW); /* cursor */
win32\fg3dImageWindow.cpp(34): wcx.hCursor =
LoadCursor(0,IDC_ARROW); //APS //LoadCursor((HANDLE)NULL, IDC_ARROW); /*
cursor */
win32\fg3dNewImageWzrd.cpp(18)://APS HWND gTmp;
win32\fg3dNewImageWzrd.cpp(32)://APS gTmp = hwndTmp;
main.h(108)://APS extern HWND gTmp;
fracgen3d.cpp(79):// APS
Plus, the WinMain function must be changed to something like
int WINAPI WinMain(HINSTANCE TheInstance, HINSTANCE LastInstance,
LPSTR lpszCmdLine, int iCmdShow)
{
__try
{
return cppWinMain( TheInstance, LastInstance, lpszCmdLine,
iCmdShow );
}
__except(TRUE)
{
TCHAR szBuf[256];
StringCchPrintf(szBuf, 256, TEXT("EXCEPTION %08lX"),
GetExceptionCode());
OutputDebugString(szBuf);
return 0;
}
}
where cppWinMain contains the original code for that __try.
It's funny (is that the right word?) when the code contains C style
casts that makes it not compile, when all that's needed is to remove
those casts...
I must be using a really crappy C++ compiler then as
it allows that stuff.
So then it casts it automatically, you don't need all
that C-style stuff, then? Darn I'm too paranoid.
Having done all the above the program crashes on using an invalid
pointer txtrptr in [render.cpp] at line 62, which is due to using an
uninitialized member "d3dlr" (presumably there should have been an
earlier call to FractalImage::LockRectangle, but no such).
That is uninitialized? It calls LockRectangle() right
in there @ line 46.
Yes, I must be very bored to do such a thing! :-)
Cheers, & hth. (although I didn't look at the silly bignum class,
whatever its fault is, it may just be corrupted memory in general),
I've had a bear of a time trying to track it down.
- Alf
--
A: Because it messes up the order in which people normally read text.
Q: Why is it such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail?