|
Hi,
That link is good.
But that is for enabling detailed memory dump information. In my project, it is not showing even the default memory leak information. I think I have changed some settings.
Thank you
Divya
|
|
|
|
|
For detect memory leak in your program I think you can see good articles on the codeproject.
|
|
|
|
|
Hi,
In javascript there is an Eval method to do evaluation of string. Can i do something like this in VC++, MFC.
Basically i want to create an oblect of the class. The name of the class is dynamic.
Example:
Eval("new MyClass") // Something like this.
Any help would be highly appreciated.
Kuldeep
|
|
|
|
|
Bad times on the horizon.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
|
|
|
|
|
No you can't do that. C++ is not a scripting language. You could integrate a scripting language (like Python I think) but it may be overkill for what you are trying to do.
What do you need to do exactly ? If you can narrow it down, maybe there are some 'simple' solutions for your problem. You'll need to explain your problem a bit more in details.
|
|
|
|
|
Basically i want to make an object of the class and the name of class will be decided at runtime.
|
|
|
|
|
There are several 'ways' to do that. One common things is that all those classes inherits from one common base class (because anyway you need a way to 'store' those items after they have been created).
The simplest one is to make a big 'switch' (not a real switch but replace it with if/else clauses because switch only works with integral types not strings). That's an easy solution but not very flexible. Otherwise you can google for the factory design pattern. That's what it does.
|
|
|
|
|
Switching was always in my mind. Biut i wanted to do without that.
|
|
|
|
|
Kuldeep Bhatnagar wrote: The name of the class is dynamic.
Compare name of given class and instantiate it!
Kuldeep Bhatnagar wrote: Eval("new MyClass") // Something like this.
Any help would be highly appreciated.
Have a look at RUNTIME_CLASS macro in MFC, though not similar to Eval!
Nibu thomas
Microsoft MVP for VC++
Code must be written to be read, not by the compiler, but by another human being.
Programming Blog: http://nibuthomas.wordpress.com
|
|
|
|
|
This article may be of help - I know it was for me.
Enumerate your leaf classes[^]
You can have classes registering a name, that you can then use to create them. There's functions to get the list of names, so you could add them to a list control if you liked.
From his article:
IMPLEMENT_LEAF_CLASS(CBlueFilter, CBaseFilter, _T("Blue Filter"))
Good luck,
Iain.
Iain Clarke appears because CPallini still cares.
|
|
|
|
|
Hi All,
My prob is quite simple, I use The MFC under MS 6.0.
I'm Bored about the default layout of The boutton, I wanna change the layout Ok my App's Button(like adding some png Image to a button, or modify the shape to be like an ellipse).
How could I do that?
PS: I tried to crete some images and put them into my form and i used them as buttons by OnImageClick or sth like that.
Thak ya.
"The Ultimate Limit Is Only Your Imagination."
|
|
|
|
|
derive the CButton class and override the OnPaint.
|
|
|
|
|
By default this is my button where i run the APP
[IMG]http://www.monsterup.com/upload/1207737674.jpg[/IMG]
and i wanna change the layout like this one
[IMG]http://www.monsterup.com/upload/1207737712.jpg[/IMG]
|
|
|
|
|
|
thank you that will be helpful.
"The Ultimate Limit Is Only Your Imagination."
|
|
|
|
|
Do you want to customize your control?
|
|
|
|
|
I am using CTreeCtrl ni my project.
I am populating this tree with hard dis folder.
There are some empty folders for which it is showing plus sign
for expanding and nothing is happening when I click on plus sign.
So please help me to hide that plus sign for empty folder in CTreeCtrl.
Thank you.
|
|
|
|
|
TVS_HASBUTTONS
Displays plus (+) and minus (-) buttons next to parent items. The user clicks the buttons to expand or collapse a parent item's list of child items. To include buttons with items at the root of the tree view, TVS_LINESATROOT must also be specified.
I'm pretty sure that the sign is only shown when an item has children. Are you doing stranges things with I_CHILDRENCALLBACK?
Try making a demo project, with a dialog, and just add a few boring items to it, and see if it behaves properly. If so, start looking at the differences.
How are you populating the tree? Are you calling some function you haven't written, or are you using FindFirstFile/FindNextFile to get the file names to populate the tree with?
Iain.
Iain Clarke appears because CPallini still cares.
|
|
|
|
|
Hello everyone,
If we define global variable and static variable of a class, which are implemented in a DLL. My questions are,
1. All instances of class share the single copy of global variable and static variable of class? If yes, I need to have some synchronization approach on them.
2. Is it safe to use global variable and static (public) variable after DLL unloads?
thanks in advance,
George
|
|
|
|
|
George_George wrote: All instances of class share the single copy of global variable and static variable of class? If yes, I need to have some synchronization approach on them.
This is true inside a process. Different processes have their own copies of such variables. synchronization is needed for different thread of the same process (i.e. no special rule for DLL s.
George_George wrote: 2. Is it safe to use global variable and static (public) variable after DLL unloads?
It is a mistake.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
|
|
|
|
|
Thanks CPallini,
1.
CPallini wrote: This is true inside a process. Different processes have their own copies of such variables. synchronization is needed for different thread of the same process (i.e. no special rule for DLLs.
So, for different processes, if they load the same DLL separately, they have different copy of global and static variable inside a class?
2.
Whether it is possible to load a DLL twice inside a process? If yes, whether in this case, there is multiple copies of global variable and static variable of a class?
regards,
George
|
|
|
|
|
George_George wrote: So, for different processes, if they load the same DLL separately, they have different copy of global and static variable inside a class?
Yes. Unless you use special techniques (see for instance [^]), DLL's aren't a media for interprocess communication (sharing a variable is, basical IPC).
George_George wrote: Whether it is possible to load a DLL twice inside a process? If yes, whether in this case, there is multiple copies of global variable and static variable of a class?
Really I don't know. If it is possible then probably there are multiple copies, since you have multiple handles to loaded DLL s. Anyway it is just a guess.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
|
|
|
|
|
Thanks CPallini,
If the DLL is a COM in-proc server, I think there should not be any changes to load the DLL multiple times? If we follow the guideline of COM, and just use CoCreateInstance/Addref/QueryInterface/...
If I watched a COM in-proc server DLL is loaded multiple copies inside a process, it should be a bug of the COM in-proc server?
regards,
George
|
|
|
|
|
I don't fully understand what you're asking. Anyway, COM DLL 's never expose variables.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
|
|
|
|
|
Thanks CPallini,
Here is my scenario. You have a COM component, which contains a class and in the class you wrap static member variable. When you create multiple instance of the COM object, by multiple calls to CoCreateInstance or something, all instances of COM objects will share the single copy of static member variables, and if the COM objects can be executed by multiple threads, we have to do synchronization on them, right?
regards,
George
|
|
|
|