|
I have a class that will recieve TCP data frames through a socket and store them in a buffer. The buffer space is allocated by my client application and a pointer is sent to my class. I plan to protect read/write operations with a mutex or some ohter form of shared memory protection.
Can I have my class post a message or signal an event to alert the client app that data has been received and stored? Or is there a more "elegant" way of accomplishing this?
Thanks.
|
|
|
|
|
I usually provde an interface that allows the clinet to specify an event handle to wait on, or else they specify a message ID and window where they want a message posted.
Some developers might be in a message queue looking for activity, and others might want to have a worker thread waiting (no message queue at all) so you give them both choices.
People that start writing code immediately are programmers (or hackers), people that ask questions first are Software Engineers - Graham Shanks
|
|
|
|
|
I have a small dialog box that accepts an inputfield and then shows some results on pressing the "Show" button. The box also has an OK button to close it. I would like that, when the user presses the Enter key, this activates the "Show"" button rather than the OK button. However, I cannot get the Show button to become the default dialog's button. Enter always results in immediately quitting the dialog. Must be something quite trivial, but haven't yet found it.
Any ideas anyone?
Thank in advance,
William
|
|
|
|
|
Uncheck the ok button's default attribute and check the default button attrtibute on the Show button via the dialog editor.
If you are doing this via code, you need to clear and set the BS_DEFPUSHBUTTON style.
onwards and upwards...
|
|
|
|
|
Thanks a lot; this works just fine.
William
|
|
|
|
|
|
hi..
i need a sample program for
"opening and closing ACS Stream"
will u please provide me with the above..
yamuna
|
|
|
|
|
I am working on a scanning project. The scanners I am working with do not support TWAIN job control. We are wanting to fake job control by using solid black pages as our job control pages. The TWAIN software I am using gives me a DIB per page that is scanned. I want to inspect the DIB during scanning and start a new image when I find a solid black image. I have looked around but can't find anything that does this. I was wondering if anybody had a suggestion. Please let me know.
|
|
|
|
|
You can loop through the byte array RGBQUAD values in the pixel data and compute the percentage of black. If the RGB value is, let's say, less than RGB(5,5,5) then consider it black. Otherwise, consider it non-black.
onwards and upwards...
|
|
|
|
|
That's what I like - a simple, brute-force approach! Not elegant but entirely functional. And speed is not an issue, since it will be way faster than the scanning process.
|
|
|
|
|
I want to change my Win32 console Application exe Symbol by a given .bmp image.Pls guide me how to do it.Actually i am stuck up how to replcce it with my .bmp image
Pls help me.Thanx in advance
never say die
|
|
|
|
|
|
Actually I want to change the icon (symbol) of Win 32 console .exe by any .bmp or .ico.So that my symbol appears rather than the default symbol of .exe is visible
Pls help me
never say die
-- modified at 9:43 Wednesday 15th February, 2006
|
|
|
|
|
If you are working with the Microsoft Visual Studio development environment, you can craete a resource file (appname.rc) and add an icon (usually IDR_MAINFRAME) in there. This icon will be used as the application's icon in explorer. Don't forget to make both the large version (32*32) and the small version (16*16), since both may be used depending on the settings of the explorer.
Good luck
William
|
|
|
|
|
Engberts wrote: This icon will be used as the application's icon in explorer. Don't forget to make both the large version (32*32) and the small version (16*16), since both may be used depending on the settings of the explorer.
this is not applicable for running console application!
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
cheers,
Alok Gupta
VC Forum Q&A :- I/ IV
|
|
|
|
|
Yes it is!
I have a number of console applications for which I used this. In Visual Studio, you add a file to the sources folder with a name like "AppName.rc". studio will ask something like "No such file exists, add anyway?" to which you reply confirmative. Next, you must open the file (again from the sources folder) Studio will again ask: "This file does not yet exist; do you wat to create a new file?" Again, you answer "yes". Then, there will be an empty rc file and a "ResourceView" tab will be added to your project, between the "ClassView" and the "FileView" tabs. When you open the resource, it will have no resources yet, so you add an icon. You must make sure to create this icon in both 32*32 bit version as well as in 16*16 bit version. When you then recompile your console application, there will be no changes to the application itself, nor to the console window in which it runs. However, if you browse to your program using explorer, it will show you your icon next to the filename, rather than the default exe icon.
In the same way, you can add version information to your program. You can view this version information by selecting "Properties" in explorer. The issue here is that both the version information as well as the icon are kept in the exe's header information, which is not loaded at runtime, but which is used by explorer to show information about the exe file. This is also the reason why you cannot use the version information from your resource at runtime in your application; it's simply never loaded!
Regards,
William
|
|
|
|
|
Engberts wrote: hich is not loaded at runtime, but which is used by explorer to show information about the exe file. This is also the reason why you cannot use the version information from your resource at runtime in your application; it's simply never loaded!
Do you see the Icon you create/attached with the console application in taskbar or caption of application window when you run that application!
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
cheers,
Alok Gupta
VC Forum Q&A :- I/ IV
|
|
|
|
|
Sir
I want 2 know that weather we can call SAME function
from mutiple threads if yes what issues we must consider?
will same block of code will b code will be copied in
diff threads? iam waiting for ur reply sir.
bye
|
|
|
|
|
In C/C++, local variables are stack based so any variables declared inside of the routine are ok unless they are static.
The problem boils down to the routine trying to access the same piece of data in two threads. If this is what is happening, then you will have problems unless the data is read only and will never be written to.
For example:
int Sum (int a, int b)
{
int c = a + b;
return c;
}
This routine can be called from many threads at the same time.
For example:
int value = 0;
void ChangeValue (int a)
{
value += a;
}
This routine will not work well unless only one thread calls the routine at a time.
Tim Smith
I'm going to patent thought. I have yet to see any prior art.
|
|
|
|
|
Tim Smith wrote: This routine will not work well unless only one thread calls the routine at a time.
But Windows Programming provides us facility of Syncronization Objects
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
cheers,
Alok Gupta
VC Forum Q&A :- I/ IV
|
|
|
|
|
That is true, but I was trying answer his question without giving him so much information that he wouldn't understand the answer.
If he wishes to access data between more than one thread, he can ask that in a follow up question.
Tim Smith
I'm going to patent thought. I have yet to see any prior art.
|
|
|
|
|
Tim Smith wrote: he can ask that in a follow up question.
As Usual, You are Right, Sir!
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
cheers,
Alok Gupta
VC Forum Q&A :- I/ IV
|
|
|
|
|
It is possible to call the same function from two different threads. Normaly this
holds no problem.
There are indeed issues you must consider when doing is.
Normal vars are placed in the stack and since each thread has his own stack.
But static vars are not located on the stack , so both threads could take action
on those objects.
Another issue is that some objects aren't thread safe, so using such vars in a
function causes the function to be not thread safe
codito ergo sum
|
|
|
|
|
In short, the answer is maybe. In depends on the function. There are many issues such as:
- Does the function access gloal data.
- Does it call APIs which are not thread safe.
- Does it use APIs that have thread affinity.
This is not a simple question - Multithreading is complex and subtle!
Steve
|
|
|
|
|
E.Satish wrote: I want 2 know that weather we can call SAME functionfrom mutiple threads if yes what issues we must consider?
Yeah you can, but your application chances for crashes are very high.if still want to use same function in different thread you can use Syncronization objects like critical section , semaphore etc
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
cheers,
Alok Gupta
VC Forum Q&A :- I/ IV
|
|
|
|