|
I made that post in the wrong thread...my bad
|
|
|
|
|
Right now, We have a ClxThreadClass that provides the capablity to create single worker thread for the class that inherits it. The function below shows the class member function that creates and starts the new thread. The desire worker code reside in _ThreadFunc.
<br />
<br />
The Current working design<br />
<br />
bool ClxThreadClass::CreateNewThread()<br />
{<br />
if( m_hThread == NULL )<br />
{<br />
m_hThread = (HANDLE)_beginthreadex(NULL, 0,_ThreadFunc, this, CREATE_SUSPENDED, &uiThreadId); <br />
if ( NULL != m_hThread)<br />
{<br />
ResumeThread( m_hThread );<br />
m_bActive = true;<br />
return true;<br />
}else{<br />
m_bActive = false;<br />
}<br />
}<br />
<br />
return true;<br />
}<br />
However, We sometimes would like to use different function other than _ThreadFunc. How can we overload CreateNewThread member function to take an external and pass to beginthreadex. This external obect is not a member function of base or inherited class.
<br />
bool ClxThreadClass::CreateNewThread( void *ptr )<br />
{<br />
<br />
if( m_hThread == NULL )<br />
{<br />
m_hThread = (HANDLE)_beginthreadex(NULL, 0, ptr, this, CREATE_SUSPENDED, &uiThreadId); <br />
if ( NULL != m_hThread)<br />
{<br />
ResumeThread( m_hThread );<br />
m_bActive = true;<br />
return true;<br />
}else{<br />
m_bActive = false;<br />
}<br />
}<br />
return true;<br />
<br />
}<br />
Scott Dolan
Jernie Corporation
Engineering & Manufacturing
Software, Hardware, & Enclosures
|
|
|
|
|
Maybe something like this:
typedef unsigned (__stdcall *PTHREADFUNC)(void *);
...
bool ClxThreadClass::CreateNewThread(PTHREADFUNC pThreadFunc)
{
if( m_hThread == NULL )
{
m_hThread = (HANDLE)_beginthreadex(NULL, 0, pThreadFunc, this, CREATE_SUSPENDED, &uiThreadId);
...
}
"Great job, team. Head back to base for debriefing and cocktails."
(Spottswoode "Team America")
|
|
|
|
|
Mark Salsbery wrote: typedef unsigned (__stdcall *PTHREADFUNC)(void *);
if this function points to global function, it will work .. if it point to class member function.. then there would be some trouble.. i.e. we have to change the Funtion ptr declaration and pass the pointer of the class to that function!
|
|
|
|
|
Right. The OP stated "This external obect is not a member function of base or inherited class"
which soundedread like it wasn't a class method to me.
Mark
"Great job, team. Head back to base for debriefing and cocktails."
(Spottswoode "Team America")
|
|
|
|
|
Mark Salsbery wrote: he OP stated "This external obect is not a member function of base or inherited class"
which soundedread like it wasn't a class method to me.
oops my mistake.. it seems work is taking over me [ ]
|
|
|
|
|
Hi,
Can someone help me?
Im just trying to get a list of all windows users names in a local computer.
GetUserName gives us just the current user:
BOOL GetUserName(
LPTSTR lpBuffer,
LPDWORD lpnSize
);
but I dont know how can I get all the other users in the same machine.
Thanks.
|
|
|
|
|
Maybe this link will help - Users in Active Directory Domain Services[^]
I chose this link since it also has links to an "old" way to enumerate users
Mark
"Great job, team. Head back to base for debriefing and cocktails."
(Spottswoode "Team America")
|
|
|
|
|
|
Is it possible to scroll a disabled listbox ? without having to create an owner drawn list.
I have a listbox that gets filled with data but its state is disabled, but I want to be able to scroll the list to see what is in there.
Or maybe I should simply reconsider the UI to allow an enabled list, but "tweaked" to make the list "disabled".
Thanks.
Max.
|
|
|
|
|
If you don't accept drag and drop, and make the list box "no selection," why disable it? The user can't do anything to it with those properties set. What are you trying to prevent that you make it disabled?
Judy
|
|
|
|
|
Yeah, I checked my code, and that's what I have to do.
Thanks.
|
|
|
|
|
Hi to Every one.
I need authentication details. Could any one please kindly helpme in this.
What is authentication, and how to check this authentication. How to use SSL concept in the Email sending program. please help me. this is urgent for me.
Nice talking to you. If you judge people, you have no time to love them. -- Mother Teresa
|
|
|
|
|
|
Hi, Mr. Alok Gupta, After long time. Thanks for your sugisition. I already have this link. Doing fighting with that link help. Some things are not executing. saying some errors. Still on fighting in some SSL and etc.. NO wain. some errors comeing.;P searching for conclusion Much happy to meet you again here.
Nice talking to you. If you judge people, you have no time to love them. -- Mother Teresa
|
|
|
|
|
G Haranadh wrote: fter long time.
yeah after very long time.. where do you went! me too happy to meet you again....
yeah ssl is tough thing.. try Ultimate toolbox they have some class dealing with ssl!
|
|
|
|
|
Ohh great friend. Now my program is compileing... Its ok. but getting crashes in between. while debug mode.
ThatsAlok wrote: ssl is tough thing..
But i need to do in that only friend. client requirement is that only.
Thanks again.
Nice talking to you. If you judge people, you have no time to love them. -- Mother Teresa
|
|
|
|
|
G Haranadh wrote: But i need to do in that only friend. client requirement is that only.
client is god of S/w Industry !
|
|
|
|
|
Thanks a lot Mr.Alok... At last we solved the problem.
Followed some instructions.., Perl installation.., some ssl supported files..., Includeing into our project.., path settings... etc etc... after lots of background work.. now it is compileing and almost working..
Thanks for giveing me support Mr. Alok.
Nice talking to you. If you judge people, you have no time to love them. -- Mother Teresa
|
|
|
|
|
G Haranadh wrote: Followed some instructions.., Perl installation.., some ssl supported files..., Includeing into our project.., path settings... etc etc... after lots of background work.. now it is compileing and almost working..
you must have work very hard to achieve same.. good!
|
|
|
|
|
In my application i have a window that can display different views.
I want to generate bitmaps of some graphs, i have a graph view (CView), but it is not displayed (ie is not attached to the window) at the time.
I think what i want to do is create an offline 'dummy' CView and use OnDraw with a 'memory' dc, so that i can then write it out as a bitmap.
Does anyone have an idea of how to properly create this 'dummy' view so that it would be possible to draw? The CView's base class stuff like the CWnd* handle is not set if i just use the constructor.
I would very much appreciate any guidance.
Simon.
|
|
|
|
|
You can hide and show a "view" with ShowWindow() but you'll need to create the window so
the HWND is valid. When the view window is hidden you can't draw on it, so is having an
offscreen view really necessary?
If you really need to do this, you'll still have to repaint the bitmap when the window is shown
so maybe just using one view window and memory bitmap(s) is a simpler solution.
"Great job, team. Head back to base for debriefing and cocktails."
(Spottswoode "Team America")
|
|
|
|
|
I am not sure what you are doing, but it sounds like you just need to create a bitmap of the information that can be viewed latter. Create a function that you can pass the information to and in it: (1) create a memory dc, (2) create a screen compatible bitmap, (3) select the bitmap to the dc, (4) draw to the dc, (5) restore dc to original state, (6) return new bitmap to caller. Once you have the bitmap can figure out what to do with it at a latter date, including transferring ownership to some future CView window.
INTP
"Program testing can be used to show the presence of bugs, but never to show their absence."Edsger Dijkstra
|
|
|
|
|
Hi, thanks.
Thats the sort of thing i was trying but i'd end up with loads of black lines like a barcode.
I thought it might be because the hwnd of the view hadnt been setup properly or something. My graph data is stored seperately from the view which simply manages the DC and mouse/key strokes.
(The reason im doing it this way is that one view can be made to show different graphs)
I'm trying something that vaguely resembles...
CGraphView dummyview; (derived from CView)<br />
dummyview.SetMyGraph(graph);<br />
dummyview.SetSize(rect);<br />
dummyview.WriteToBitmap("bitmap.bmp")<br />
<br />
CGraphView::WriteToBitmap(CString file)<br />
{<br />
CDC pDC;<br />
pDC.CreateCompatibleDC(CDC::FromHandle(wglGetCurrentDC()));<br />
<br />
CBitmap bitmap;<br />
bitmap.CreateCompatibleBitmap(&pDC, rect.Width());<br />
CBitmap* oldBitmap = pDC.SelectObject(&bitmap);<br />
<br />
OnDraw(&pDC);<br />
<br />
int pixels = rect.Width() * rect.Height();<br />
BYTE* bits = new BYTE[pixels*4];<br />
<br />
glReadBuffer(GL_BACK);<br />
glReadPixels(rect.left, rect.bottom,rect.Width(),rect.Height(),GL_RGBA,GL_UNSIGNED_BYTE,bits);<br />
...<br />
bitmap.SetBitmapBits(pixels*4,bits);<br />
...<br />
then write bitmap to file<br />
}
|
|
|
|
|
It looks like a barcode probably because the default bitmap in a memory DC is monochrome and you
are creating your bitmap to be compatible with this monochrome bitmap.
Try
bitmap.CreateCompatibleBitmap(CDC::FromHandle(wglGetCurrentDC()), rect.Width(), rect.Height());
"Great job, team. Head back to base for debriefing and cocktails."
(Spottswoode "Team America")
|
|
|
|