Well, you can have multiple processes work together by communicating between them using pipes or sockets, but like it was already suggested, threads would probably be the most applicable solution to this. If the processes are doing the same thing, there's a perfect example of using CWinThread derived threads, by deriving (or subclassing), its easy to make multiple instances of the desired thread.
Just replace your resource list box by a static box (IDC_STATIC_LIST, "VISIBLE" = false),
then create a member list box in the OnInitDialog() function
by usage of the client position of the IDC_STATIC_LIST, current resource styles,
and the (passed in dialog constructor) multiselection flag
(Do not destroy any child explicitly)
They sought it with thimbles, they sought it with care;
They pursued it with forks and hope;
They threatened its life with a railway-share;
They charmed it with smiles and soap.
I want to handle TVM_DELETE or TVN_DELTEITEM from a custom tree control in other file( which is derived from CFormView ). From tree control, I am trying to send
<pre> SendMessage(TVM_DELETEITEM, WPARAM(0), LPARAM(hItem));
I have handled this msg in view file like this
<pre> ON_MESSAGE(TVM_DELETEITEM, OnTvmDeleteItem )
but it simply delete the item and doesn't caught at OnTvmDeleteItem().
I have also tried to send TVN_DELTEITEM with ON_NOTIFY_MESSAGE(), but still it doesn't work.
Pls help me out.
I want to handle deletion of tree item in other file, because I have to do some database work.
But this custom tree is used in so many applications, so that I can't send to directly to any window. I have handled that TVM_DELETE message in other file, and assume It should get called. but it can't reach at the specified function.
Should I try PreTransalteMessage() in other file after mapping WM_KEYDOWM do the particular deletion and database work?
From what you are saying here you are mis-using this message. You should capture the TVN_DELETEITEM notification in your TreeView control and use the information passed to you to decide what action to take. You should then call your alternative function directly to perform whatever actions are necessary; there is no need to use (and you probably should not use) SendMessage() for that purpose. Something like:
ON_NOTIFY(TVN_DELETEITEM, id, DoTvnDelete)
// do some work here
LRESULT lrc = DoDeleteAction(parameters ...);
// do some more work herereturn someResult;
I've had a similar sounding experience when writing out file-header structures in the past.
For me, the solution was as simple as checking that sizeof(my_header_struct) did indeed equal the correct size of the header struct. I found that it didn't and also found parts of it becoming misaligned.
After determining that the structure size was wrong, I found that the compiler was 'thoughtfully' padding the struct for me to a 4/8/16 byte multiple to make it quicker to access in memory. It was as simple as compiler directives to ensure that the struct was as specified and did not include this padding.
Using gcc, the relevant directives are:
#pragma pack(push, xxx)
Where xxx is the size of the alignment block you'd like - i.e if xxx = 2 then the struct will be padded to a multiple of 2 bytes. For my use, xxx very nearly always = 1. Just place the first directive before the struct is defined and the second after it, you may place several structs between the directives if needed.
I don't know if this is/was the problem - digging through old code, I can remember that this was needed for BMP headers, and if memory serves me correctly - I also needed this when reading the sound samples from the old games Doom & Rott.
I have narrowed it down to missaligment of RIFF "data" descriptor.
I found one coder just doing a do / while loop to find the "data".
I am doing just that, it is a kluge but so far so good.
I am ready to get the real data out.
I appears that RIFF WAVE "format" chunk has an additional and so far unidentified variable.
It suppose to be used when the wave compression format is different than 1 = no compression.
That is why the actual data chunk identifier "data" was missalligned.
I'm just being lazy here but is there a way in the Visual C++ IDE (any version) to have it tell you what exceptions have been declared (by any of the methods or methods called by those methods etc...) to be possibly thrown?
The only way I know of is to dig through MSDN researching each method call which can get time consuming since there are so many overloaded method variations that I tend not to assume the possible exceptions that could be thrown by one overloaded method will be the same as another overloaded method.
WinError.h contains all of the error codes generally thrown by WinAPI/MFC calls, but generally speaking, there's no clear way of knowing what each method will throw without looking into the documentation associated with that specific method.
WinError.h contains all of the error codes generally thrown by WinAPI/MFC calls
I'm just trying to quickly identify which catch handlers (if any) I would need at the level in the code where I'd want to handle them. Maybe some magic hover help that would allow you to see the summary of all the "throw" declarations for the method call, definition, or declaration your cursor is currently hovering over.
I apologize that I didn't word my question very good, now that I've reread it I guess it did sound like I just wanted a list of all the exceptions that could ever get thrown anywhere.
A basic rule of exception handling is also that you only handle exceptions that you are aware and knowledgeable of. You shouldn't just catch any and all exceptions, except for maybe at the top level of your code.
So, you need to look into the documentation to see what exceptions are thrown and how to handle them anyway. It'd still be nice indeed to see what exceptions could be thrown so you can quickly check what you'd have to handle, but I'm guessing the documentation is quick enough for it anyhow, since you'll need to refer to it anyway to understand how to respond to the exception.
Last Visit: 31-Dec-99 18:00 Last Update: 25-Sep-23 8:04