|
As far as I can see, the memory leak must be in the CALLSUM_BIN class.
|
|
|
|
|
i don't see any here...
you CallSumBin = new CALLSUM_BIN( FileName ); and always delete CallSumBin; it then...
so, you might have a look at the CALLSUM_BIN constructor... does it allocate some memory that is not deleted (at the end of the constructor or in the destructor ?
TOXCCT >>> GEII power [toxcct][VisualCalc]
-- modified at 3:18 Thursday 3rd November, 2005
|
|
|
|
|
Is your code perhaps calling the function containing
CallSumBin = new CALLSUM_BIN( FileName );
more than once without having called the closedown() function?
If so, that will cause a memory leak. I would suggest the following:
if ( _access ( FileName, 0 ) != 0 )<br />
{<br />
sprintf( ErrorText, "File does not exist -> %s", FileName );<br />
Message( ErrorText, VD_ERROR );<br />
return 0;<br />
}<br />
m_information_line = "Loading CALLSUM Binary File.";<br />
PostUpdate();<br />
if (CallSumBin != NULL)<br />
{<br />
delete CallSumBin;<br />
CallSumBin = NULL;<br />
}<br />
CallSumBin = new CALLSUM_BIN( FileName );<br />
if ( !CallSumBin )<br />
{<br />
Message( "Unable to allocate CallSumBin binfile.", VD_ERROR );<br />
return 0;<br />
}
Karl - WK5M
PP-ASEL-IA (N43CS)
<kmedcalf@ev1.net>
PGP Key: 0xDB02E193
PGP Key Fingerprint: 8F06 5A2E 2735 892B 821C 871A 0411 94EA DB02 E193
|
|
|
|
|
As krmed already stated, make sure your allocation routine isn't being called multiple times. However, I wouldn't make krmed's change, since that might just be fixing the symptoms and not the real issue. It is the memory allocation version of the "off by one" error where someone fixes the problem by just adding one without tracking down the reason why the value is off by one.
Another problem might be that your closedown code isn't being invoked. I often see people spend endless amounts of time trying to figure out why are routine isn't working when in fact, the routine isn't even being invoked.
Both of those problems are the same class of problem, improper execution path.
Of course, this is all assuming that it is CallSumBin that is leaking. If you haven't verified that, then you might be looking at the wrong issue.
As to what Christian said, he is right. Constructing the filename like that is akin to running with scissors. As long as you are careful, things are "ok". But a slight mistake can cause memory corruption (which can manifest itself as a leak in some instances) and security issues. I won't go so far as saying C style is crap, mainly because I have seen far too many string processing systems created with managed strings that are just dogs. But you are playing with fire and really need to understand what you are doing when you do work with C strings.
Tim Smith
I'm going to patent thought. I have yet to see any prior art.
-- modified at 9:56 Thursday 3rd November, 2005
|
|
|
|
|
is there an equivalent function in c++ of the vb function AscW?
because I need to convert a unicode character into it's hexadecimal value.
|
|
|
|
|
hexadecimal is just a printing representation of an integer value...
just use the %x or %X format option in the format string of the printf() , sprintf() , .Format() functions...
TOXCCT >>> GEII power [toxcct][VisualCalc]
|
|
|
|
|
I can convert an integer into hexadecimal, but i can't convert a wchar_t into an integer.
I tried: swprintf(iTest,"%d",wByteBuff);
but i always get the error :error C2665: 'swprintf' : none of the 2 overloads can convert parameter 1 from type 'int'
i also tried with %x,%X,%i,%u,%c but none of this is working.
|
|
|
|
|
i am trying to load the data from an xml document into a treeview control. i know how to write the xml document but do not know how to load all of the data into tree control.
any help would be greatly appreciated.
- Kyle
|
|
|
|
|
|
AskQuestion wrote: look this site
http://www.codeproject.com/atl/atl_persistxml.asp[^]
that is not vc++ is it??
- Kyle
|
|
|
|
|
Look, there is a *.dsw file in the demo download file. In Description the author (katasonov)wrote:
"I have created two Visual Studio 6.0 projects as an example of how easy it is to add XML support to ATL objects:........"
have a look, I hope I could help you
|
|
|
|
|
Hello everyone!
OK, I got VC++ 6 yesterday, and I'm trying to make a Windows app, but I got no idea how! I looked for tutorials but they're all either for command-line apps (which I already read one) or for VC++ 2003... I've coded in C++ before, but not for Windows... I need a basic introduction to how to create a GUI/form/window from scratch. Anyone know? Thanks!
Sulfurik K. Nosferathus (Darth_Sulfur)
www.SulfurMidis.com
www.SulfurSoft.tk
http://www.BeepXtreme.tk
[ftp://][http://][hotline://]tsfc.ath.cx
|
|
|
|
|
|
|
Darth_Sulfur wrote: Yeah, that's one of the sites that are for VC++ 2003...
I had a quick glance at this the other day and in certain places they give instructions for both VC++ 6 and VC++ 2003.
Darth_Sulfur wrote: Now I need to know how to retrieve the text from a text label on my dialog.
Haven't done any VC++/MFC for quite some time but, from memory, you may need something like GetWindowText() or GetDlgItemText().
Kevin
|
|
|
|
|
|
totally agree...the Prosise book is a great MFC book. I also have the Petzold book right next to it (programming Windows 5th Ed)
Steve
|
|
|
|
|
Yeah, that GetDlgItemText() worked! Thanks!
And I'll buy that book if I find it on a store, you need to be very wise and powerful and have tons of patience to convince my dad to buy something off eBay... Thanks!
Now, I got into new trouble... I accidentally put in a breakpoint in some file which of I can't remember its name... How do I remove all of the breakpoints? I can't run my program anymore!
Thanks!
Sulfurik K. Nosferathus (Darth_Sulfur)
www.SulfurMidis.com
www.SulfurSoft.tk
http://www.BeepXtreme.tk
[ftp://][http://][hotline://]tsfc.ath.cx
|
|
|
|
|
Darth_Sulfur wrote: How do I remove all of the breakpoints?
Edit | Breakpoints | Remove All
/ravi
My new year's resolution: 2048 x 1536
Home | Music | Articles | Freeware | Trips
ravib(at)ravib(dot)com
|
|
|
|
|
Darth_Sulfur wrote: How do I remove all of the breakpoints?
Ravi Bhavnani wrote: Edit | Breakpoints | Remove All
Ctrl + Shift + F9
TOXCCT >>> GEII power [toxcct][VisualCalc]
-- modified at 9:41 Thursday 3rd November, 2005
|
|
|
|
|
|
THANKS very much to both of you!
[Edit]
Nope, didn't work... I did what you said but there are no breakpoints listed! I try to run the application but I get this message box:
User breakpoint called from code at 0x7c901230.
And then it shows me an assembler code file with an arrow before this line:
7C901230 int 3
How do I fix that? Thanks!
[/Edit]
Sulfurik K. Nosferathus (Darth_Sulfur)
www.SulfurMidis.com
www.SulfurSoft.tk
http://www.BeepXtreme.tk
[ftp://][http://][hotline://]tsfc.ath.cx
-- modified at 16:27 Thursday 3rd November, 2005
|
|
|
|
|
Check the call stack to see what caused this to happen. It's possible that your code called a Windows or C run-time library API with a bad argument.
/ravi
My new year's resolution: 2048 x 1536
Home | Music | Articles | Freeware | Trips
ravib(at)ravib(dot)com
|
|
|
|
|
I started with the Scribble Tutorial[^].
It's a *very* simple MDI "art" program that takes you through most of the common stuff such as events, doc/view architecture, dialog boxes, device contexts, file I/O etc...
Good Luck
The StartPage Randomizer
|
|
|
|
|