|
llp00na wrote: In a desprate try to solve this issue, i created an other modal dialog but this time (Style: Popup). and it works fine
Can someone please explain whats the difference between Style: Child Vs Popup apart from the visual appearance !!! ie. properties and characteristics of each.
Yeah the visual appearance is the main difference. Child comes embedded inside the parent window, while a popup can move freely around.
I guess you are doing something wrong hence your application freezes.
Nibu thomas
Software Developer
|
|
|
|
|
so are you implying that child dialogs do not offer extra functionality ?
Do i understand that using a child dialog to get the user input does not provide critical advantage if a popup dialog is used instead?
llp00na
|
|
|
|
|
llp00na wrote: so are you implying that child dialogs do not offer extra functionality ?
No! They are quite same when it comes to what they offer.
llp00na wrote: Do i understand that using a child dialog to get the user input does not provide critical advantage if a popup dialog is used instead?
Well IMO there is no advantage. Well why do you wish to use a child dialog? Popup does better!
Nibu thomas
Software Developer
|
|
|
|
|
As i mentioned before, i am very novice toWinAPI. I carelessly tought the child dialog wopuld be more apropriaty pe to serve murpose. I also felt it would be more easier to transfer messages accross the main application and a child dialog which receives the input from a user.
Now that you explained to me that there is no/marginal difference, i will cetainly be using a popup dialog.
I am very thankfull
llp00na
|
|
|
|
|
llp00na wrote: Question One
Create a Modeless dialog instead of a Modal dialog.
Maximilien Lincourt
Your Head A Splode - Strong Bad
|
|
|
|
|
i need a modal dialog. i dont want the user to use the main application while entering data
llp00na
|
|
|
|
|
How Can I Read CakeWalk's wrk File?
I need read data from wrk,but I don't know the wrk file's format.
Someone Could Tell me how to read wrk file and its format(structure)?
|
|
|
|
|
|
How Can I Read Midi File?
I need read score data from Midi File,but I don't know the Midi file's format.
Someone Could Tell me how to read Midi file and its format(structure)?
|
|
|
|
|
|
|
Did someone have source code to extract midi file?
|
|
|
|
|
|
|
PCHAR a ;<br />
a = NULL ;<br />
<br />
PCHAR b = new char[10]<br />
a = b ;<br />
<br />
delete [] b ;<br />
delete [] a ;
If I have the above code then what happens? What will a = b do? Will delete [] b remove the value in memory for a too?
Thanks...
---
With best regards,
A Manchester United Fan
The Genius of a true fool is that he can mess up a foolproof plan!
|
|
|
|
|
LazyKancha wrote: delete [] b ;
it deletes the char array
but the second statement is invalid, because it's already deleted.
and Yes, a = b; will assing the char array 'b' to variable 'a'.
|
|
|
|
|
This will result in a crash. The instruction a=b will simply change the address to which a points. So, a will point exactly at the same address than b.
So doing:
delete [] b ;
delete [] a ;
is the same as doing:
delete [] b ;
delete [] b ;
Which tries to free memory that has already been freed.
|
|
|
|
|
a = b assigns only the address pointed to by b into a .
so, both a and b point the same memory address after the = instruction.
if you delete[] b , then delete[] a should fail as the memory is already delete d
|
|
|
|
|
What about a memcpy instead of a = b?
Thanks for your answers...
---
With best regards,
A Manchester United Fan
The Genius of a true fool is that he can mess up a foolproof plan!
|
|
|
|
|
If the pointer a has been dynamically allocated then it is ok. But in your case, you should first allocate the memory with new and then memcpy the data. Otherwise you will have a crash in memcpy.
|
|
|
|
|
LazyKancha wrote: If I have the above code then what happens?
You will get a compiler error.
"Let us be thankful for the fools. But for them the rest of us could not succeed." - Mark Twain
"There is no death, only a change of worlds." - Native American Proverb
|
|
|
|
|
Is there any way - in standard C++ (or via STL/Boost) - to dynamically create a class by name in a similar way to the MFC RUNTIME_CLASS function?
For example, if I have a string that contains the class name, I want to be able to do something like:
char* s = "CMyClass";
CMyClass* pClass = CREATE_CLASS_BY_NAME(s);
|
|
|
|
|
No, simply because the pointer in which you will hold your variable is not known neither. So you cannot do that:
CMyClass* pClass
But if you need a system like that, you can still develop something yourself. First, what you need to have is that all classes that can be created by name should inherit from a common base class (so they can be manipulated the same way). Then, you can implement a factory class that will create the classes for you. Add a create method that will link the class name to a specific subclass.
For this step, the easiest is to have hard-coded names (basically a switch containing all possibles subclasses). If you need some more flexibility, you can add a map table into the factory that links a name to a creation function. Then, you can register new classes in the factory simply by adding the names and the creation function (each creation function is specific to a subclass).
If you need more details, don't hesitate to ask. I just explained briefly hoz you could do that. But in general this feature is not really necessary (chances are that you can solve your problem in another way).
|
|
|
|
|
Thanks Cedric. I already use class factories where possible (though usually using a unique ID for each derived class rather than a name), but I was hoping that I could write something very generic - it is a shame that the C++ RTTI support doesn't allow classes to be created by name. I am actually writing code to serialize an MFC format document (the app isn't using MFC itself) and thought that, if I could create classes by name, the serialize code would make an excellent CP article!
|
|
|
|
|
In general when you serialize something, you know what you are serializing and in which order the object are serialized. I'm pretty sure there is an alternative to your problem.
|
|
|
|