|
At those sort of links I'd be tempted to say just use several CString s
Seriously though CString is going to be horribly inefficient with this amount of data as it's constantly reallocating and moving stuff around. You're either writing some serious text processing here in which case I would do my own text buffer with the required functionality or you're in need of breaking up that CString. Have a look at CStringArray if MFC is your thing.
If things get difficult when they shouldn't be then often you just need to do more of the easy stuff. It's one of the reasons I love programming.
Nothing is exactly what it seems but everything with seems can be unpicked.
|
|
|
|
|
Thanks to both.
The problem was not with CString, it was something else. Well, thanks a lot.
Anurag Gandhi.
|
|
|
|
|
Anurag Gandhi wrote: It seems that CString doesn't work beyond 30,000 characters of length.
CString has no such limitation.
"A good athlete is the result of a good and worthy opponent." - David Crow
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
Hi All,
I added virtual copy constructor for quite a few classes. I see a drastic difference in memory usage before and after the change, that too only with debug binary. When I ran release binary the memory usage is almost the same.
Here below are the memory statistics
Before Change
-------------
Peak Mem Usage & VM Size for Debug binary is: 15 MB & 10.5 MB
Peak Mem Usage & VM Size for Release binary is: 11.5 MB & 8 MB
After Change
-------------
Peak Mem Usage & VM Size for Debug binary is: 29 MB & 26 MB
Peak Mem Usage & VM Size for Release binary is: 12 MB & 8.5 MB
Is it the case virtual copy constructor makes debug binary use more space?
Thanks and Regards,
Nani
-- modified at 4:39 Wednesday 6th June, 2007
|
|
|
|
|
mandanani wrote: I added virtual copy constructor...
How?
"A good athlete is the result of a good and worthy opponent." - David Crow
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
You mean in what way I added virtual copy constructor?
Here below is the code:
CValueObjectBase* CashflowVO::clone() const
{
return new CashflowVO(*this);
}
Here CValueObjectBase is base class and clone method is pure virtual method. The clone method of derived class copies the object and return base class pointer.
Hope I have provided the right information.
|
|
|
|
|
I thought constructors couldn't be virtual, since they require complete information to create the object.
|
|
|
|
|
Cyrilix wrote: I thought constructors couldn't be virtual, since they require complete information to create the object.
You are correct, hence my question to him as to how he managed to pull this off.
"A good athlete is the result of a good and worthy opponent." - David Crow
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
Actually, this is a method which does the job of constructor.
Here below is the code snippet:
class CashflowVO derived from CValueObjectBase
>>>>>>>>>>>>>>>>>>>>
CValueObjectBase* CashflowVO::clone() const
{
return new CashflowVO(*this);
}
>>>>>>>>>>>>>>>>>>>>
Clone methos is pure virtual method in CValueObjectBase. The below code calls the respective clone method of derived object. Here pValueObjectBaseOrg can be any of the derived class, but respective object is getting copied and pointer is returned to pValueObjectBase.
>>>>>>>>>>>>>>>>>>>>
CValueObjectBase * m_pValueObjectBase = m_pValueObjectBaseOrg->clone();
>>>>>>>>>>>>>>>>>>>>
Hope I make sense here.
|
|
|
|
|
Besides the question that needs an answer (what the heck is a virtual copy constructor???)
the memory usage increase was hardly "drastic". Is there a reason you're worried about how
much memory (even if you could get an accurate measurement of it) your app is using in a
debug configuration?
Mark
"Posting a VB.NET question in the C++ forum will end in tears." Chris Maunder
|
|
|
|
|
Yes. The statistics I provided here are for sample data. When I ran my applicaiton with full production data the debug binary consumes 1.5 GB of virtual memory. Before the change the debug binary used to consume around 700 MB memory. There is not much difference in memory usage with release binary before and after the change.
I want to know whether virtual copy constructor adds more symbols to debug binary.
Thanks, Nani
|
|
|
|
|
how to programmatically add the values of a apecific field in a .mdb file.(only that field is blank, the other fields are filled)
thanks
|
|
|
|
|
Which is the programming language are you using ?
You can use ADO to serve your purpose.
Regards,
Paresh.
|
|
|
|
|
|
Hi all,
First of all I'm sorry about asking this type of question here but, after searching for 2 hours without no success and asking people on Tek Tips and DevX, I'm frustrated as hell.
How do you link to a dll (odbc32.dll) in Borland C++, I know how to do it in VS2005, but borland is another story.
Can anyone please help me??
Many Thanks
Regards,
The only programmers that are better than C programmers are those who code in 1's and 0's.....
Programm3r
My Blog: ^_^
|
|
|
|
|
I don't know right now if there is any option dialog for this (currently working with VC++ Builder 6.0) but you can also include the #pragma preprocessor directive, assuming you have set the additional library (something like: "<installpath>\lib\psdk") path in a way, that odbc32.lib can be found:
#pragma comment ( lib, "odbc32.lib" )
|
|
|
|
|
|
I just tried a project which links with other libs that are shipped with the source code:
It seems that you can simply add the *.lib file to your project. However I don't know if this will work with Platform SDK libraries.
Yes, this is a way that worked in my project when linking against shell32.lib. I just placed it in the source code where I needed the API call.
|
|
|
|
|
Thanks you for the help.
Regards,
The only programmers that are better than C programmers are those who code in 1's and 0's.....
Programm3r
My Blog: ^_^
|
|
|
|
|
Programm3r wrote: How do you link to a dll (odbc32.dll) in Borland C++...
What version? Are you compiling/linking from within an IDE, or a command prompt?
"A good athlete is the result of a good and worthy opponent." - David Crow
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
i want to get homedirectory of current user like(C:\Documents and Settings\current username).
is there any API to get it.
Thanks in advance
RYK
|
|
|
|
|
SHGetFolderPath, just pass in the CSIDL for the desired folder.
|
|
|
|
|
You can call SHGetFolderPath(CSIDL_PROFILE) or read the %USERPROFILE% variable
|
|
|
|
|
|
Hi
I am not experienced at MFC.I want to ask that how can I display a jpeg format picture simply.I need that for a project in Windows CE and OleLoadPicture and IPicture methods are unsupported by Windows CE.So is there any other way without using these methods?
Thanks for any help
|
|
|
|