|
Satheesh wrote:
AfxBeginThread actually ends up calling _beginthreadex.
Make one step further. Step into _beginthreadex and you'll see the light (I mean, the CreateThread call). FYI, it'll be line 125 of THREADEX.C (on VC6 SP5).
MFC needs to prepare a environment for its thread. It's done via CWinThread object. And - since MFC is a C++ library, it needs to create threads with _beginthreadex to ensure that CRT works OK.
Tomasz Sowinski -- http://www.shooltz.com
- It's for protection - Protection from what? Zee Germans?
|
|
|
|
|
Too bad there aren't thread creation vectors you can set so that when a thread is created, the routine gets called automatically. Then MFC and CRT can install their own vectors and we could all call CreateThread.
Tim Smith
I know what you're thinking punk, you're thinking did he spell check this document? Well, to tell you the truth I kinda forgot myself in all this excitement. But being this here's CodeProject, the most powerful forums in the world and would blow your head clean off, you've got to ask yourself one question, Do I feel lucky? Well do ya punk?
|
|
|
|
|
If you're a perverse enough process, you can probably launch yourself as a debugee and use WaitForDebugInfo.
Tomasz Sowinski -- http://www.shooltz.com
- It's for protection - Protection from what? Zee Germans?
|
|
|
|
|
LOL...
Tim Smith
I know what you're thinking punk, you're thinking did he spell check this document? Well, to tell you the truth I kinda forgot myself in all this excitement. But being this here's CodeProject, the most powerful forums in the world and would blow your head clean off, you've got to ask yourself one question, Do I feel lucky? Well do ya punk?
|
|
|
|
|
The whole point is that the two functions are prototyped different. If they were both DWORDS it'd have been easy. Now one is an UINT. Thus we cant use both AfxBeginThread and CreateThread on the same function without changing the prototype manually. After all most of us do a return 0
Nish
I am the Keyboard Smasher
|
|
|
|
|
The mess gets a little worse when you are trying to produce a add on library. If your add-on requires that MFC or CRT has been initialized in a thread, then you have to depend on the user invoking the right routine. IMHO, a perfect world would be one where I could do something and then the programmer would only have to call CreateThread and CRT is initialized for my via some back door method.
Tim Smith
I know what you're thinking punk, you're thinking did he spell check this document? Well, to tell you the truth I kinda forgot myself in all this excitement. But being this here's CodeProject, the most powerful forums in the world and would blow your head clean off, you've got to ask yourself one question, Do I feel lucky? Well do ya punk?
|
|
|
|
|
think I am doing somthing wrong here. I cant find threadex.c even though I have SP5 installed. The debugger cant find it and I cant either!!Satheesh
|
|
|
|
|
Hi,
I have been loading images from memory directly into GDI+ Bitmap Objects. This involved creating a stream. Somebody recommended that I used CreateStreamOnHGlobal, which works great.
Now I am looking at doing the reverse, saving JPEG data represented by the Bitmap object into memory again through a stream and createstreamonhglobal. My question is how do i know how big I have to make the global alloc, do i just have to make sure it's sufficient or is there anyway of determining the size or making the size of the stream dynamic. Hope this is clear, any advice or comments would be grately appreciated.
Thanks Again
Rich
|
|
|
|
|
You do not have to worry about the size of the stream, it will automatically resize itself as space is needed.
There is no real way to determine how large a JPEG will be until you compress it as if you were going to save it to a file. So allocate a small memory buffer with CreateStreamOnHGLOBAL and then pass the stream object to Save in the bitmap, the memory will be taken care of for you.
If you do find a way to determine how mush space your image will take, you can use the SetSize method to reallocate memory in your stream.
|
|
|
|
|
When I'm using a DialogBar, with controls on it (particulartly Frames, and Buttons)..... do standard procdedures using a dialogBar in a Doc/View application, make a dialogresource, set an ID for the dialog bar, ID's for the controls...etc...
When I implement the code for the button in a dialogbar it works fine.. but when i implement code for a frame control(the message map in CLASSWIZARD is only BN_CLICKED), when i click on the frame when i run the program, it doesn't get executed...
How come when iclick on the button control in the dialogbar something gets executed, but when i click on the frame control, nothing gets executed?? is this a bug in Visual C??
|
|
|
|
|
AFAIK, buttons send messages to their parent window, not their owner. (when a dialog bar is not docked, it's parent is no longer the frame window; instead it is a child of a mini-frame created to float it)
You'll have derive a class CDialogBar and put the code to handle the button press in that. Then you can forward it on to your frame window if necessary.
And if words were wisdom, I'd be talking even more. The Offspring, I Choose
|
|
|
|
|
Actually the messges of my buttons in my Dialog Bars works fine...even if the dialog bar is docked or floating but the messges of the Frame Controls in the Dialog Bar doesn't....
How do I forward messages to my FrameWIndow??
|
|
|
|
|
Sorry, i'm misunderstanding you. Do you mean the controls on the frame, like the close or maximize buttons, or do you mean a STATIC control drawing an etched frame w/ in the dialog bar?
And if words were wisdom, I'd be talking even more. The Offspring, I Choose
|
|
|
|
|
I mean the Static Control drawing an etched frame within the dialog bar.... when you make a dialog resource, VS has toolbars that lets you draw any kinds of controls in the dialog resource.... The toolbar button that says picture control....
|
|
|
|
|
Ok, i understand now. These controls are usually not used for input, so i was confused. Anyway, make sure that SS_NOTIFY is set; you'll then get messages when the user clicks or double-clicks on the control. Not too much else you can do with a frame, really.
Sometimes I only remember, The days when i was young Nowadays no one remembers when they were young and stupid... ADEMA, The Way You Like It
|
|
|
|
|
OK... how do I use SS_NOTIFY??... i just encountered SS_NOTIFY?? sorry, i'm a bit new VC....
I'm using it for output and Feedback...... so i need to draw to the frame control manually through code....
|
|
|
|
|
In the dialog editor, bring up properties for the frame. On one of the pages (i forget which) there is a "notify" option.
Sometimes I only remember, The days when i was young Nowadays no one remembers when they were young and stupid... ADEMA, The Way You Like It
|
|
|
|
|
Thats it!! THanks a lot... I got it to work already... thanks very much...
"Its all right. the gun isn't loaded."
|
|
|
|
|
For your information, I made a DialogBar resource template... set the DialogBar's ID, the the button control's ID, and the frame control's ID, after that I go to ClassWizard, and asks me if i want to make a new class or select from an existing class.... I chose cancel and go thruh classwizard anyway.... i don't make a new class...
I get my messages thru the ID's.....
|
|
|
|
|
If you look in CodeGuru (sorry..) you'll find a dicussion of a "CInitDialogBar" class which solves just this sort of problem...
Cheers,
Dave Carkeet.
|
|
|
|
|
Greetings,
I was wondering if anyone knows how I can STREAM an image (.jpg, gif, ect) into an html page, or even Use Media Player?
Is it possible to stream an image into media player on a web page?
Thanks in advance
|
|
|
|
|
What you mean to "stream" image? Where you want to stream it from?
If I understand you right, you want to catch the browser request and stream the image data from memory, right?
Is so, you need to catch the http protocol request, check for the file name and if it yours, load the image to memory and return to browser. This thingy called Asynchonous Pluggable Protocol. You can read about it here
If not, skip my reply
Philip Patrick
Web-site: www.saintopatrick.com
"Two beer or not two beer?" Shakesbeer
Need ASP hosting? Check out 123HostNow.com
|
|
|
|
|
Yup, you read what I was hoping to do correctly...
Thanks for the link!!!
|
|
|
|
|
Ah, I got it right
BTW, I'm writing an article about that, lmao, when I'll get a time to make a demo application, I'll post it
Philip Patrick
Web-site: www.saintopatrick.com
"Two beer or not two beer?" Shakesbeer
Need ASP hosting? Check out 123HostNow.com
|
|
|
|
|
An article would be great!
Since I am still having trouble getting it to work!
|
|
|
|