|
And also except handle count we have thread count
|
|
|
|
|
Thanks alot for your replies...
Handle count for a process is limited to 10000 and it can be increased to 18000 (max limit). But I can see different process on my machine (like explorer.exe) having handle count greater than 18000.
How that process is running properly even when handle count has increase dramactically?
Suraj Gupta
|
|
|
|
|
In a previous post I was attempting to "serialize" an HICON, i.e. save it as a blob in a file or database: the opposite operation to the ExtractIcon() operation. I have since learned how to do this (see routine below).
BUT now my problem is, this routine loses color information. When the routine is run against a true-color icon, and the buffer is saved as a .ico file, and the .ico file is reloaded with ExtractIcon(), the resulting icon has reduced to 256 colors.
I think this must be a limitation of OleCreatePictureIndirect(). How can I fix my routine?
------------------------------------------------
void SerializeIcon(const HICON icon, DWORD* size, BYTE** data)
{
LPPICTURE pPicture;
PICTDESC rPD;
rPD.cbSizeofstruct = sizeof(PICTDESC);
rPD.picType = PICTYPE_ICON;
rPD.icon.hicon = icon;
IStream* pStream = NULL;
HGLOBAL hMem = NULL;
BYTE* pMem = NULL;
long lActual;
OleCreatePictureIndirect(&rPD, IID_IPicture, FALSE, (void**) &pPicture);
CreateStreamOnHGlobal(0, TRUE, &pStream);
pPicture->SaveAsFile(pStream, TRUE, &lActual);
pPicture->Release();
GetHGlobalFromStream(pStream, &hMem);
pMem = (BYTE*) GlobalLock(hMem);
*size = GlobalSize(hMem);
*data = (BYTE*) malloc(*size);
CopyMemory(*data, pMem, *size);
GlobalUnlock(hMem);
GlobalFree(hMem);
}
------------------------------------------------
<div class="ForumSig">
cheers,
Neil</div>
|
|
|
|
|
Did you find the answer to this question? I have the same problem.
|
|
|
|
|
The below code sorts a matrix diagonally. Does it, but at the end it's throwing an "illegal" may be a bad access error. Why ?
int main(int argc, char* argv[])
{
int A[5][5];int i;int j;
int temp; int c,flag;
}
input :
1-1-1
2-2-2
3-3-3
output:
1-2-3
1-2-3
1-2-3
-- modified at 6:02 Friday 12th January, 2007
*
*
|
|
|
|
|
You are accessing declared array with invalid index.
int A[5][5]; should be accessed only from A[0][0] to A[4][4] where as you are accessing it through A[1][1] to A[5][5]
Astricks wrote: for (i = 1;i<=5;i++) {
You should modify this to,
for (int i = 0 ; i <5 ; i++) at all places you have done mistake.
|
|
|
|
|
|
C/C++ arrays are 0-based, i.e. if you declare:
int a[5];
then you have the following items:
a[0], a[1], a[2], a[3], a[4];
on the other hand, a[5] , is out-of-bounds.
so the correct iteration will be
for (i = 0;i<5;i++)
a[i]= (whatever);
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
|
|
|
|
|
thanks!
*
|
|
|
|
|
int A[5][5];int A[6][6];
Code-Frog:So if this is Pumpkinhead. Time for him to run and hide. It's an interesting thought really.
|
|
|
|
|
|
in a way it's future proof . Just kidding!
Code-Frog:So if this is Pumpkinhead. Time for him to run and hide. It's an interesting thought really.
|
|
|
|
|
This will surely work, but the poor guy will never come to know what is wrong with his approach! I think thats the reason for you being voted down. (I gave a 5 to bring u up because you put your time and efforts and shouldn't get voted down)
Nobody can give you wiser advice than yourself. - Cicero
ப்ரம்மா
|
|
|
|
|
|
I decided to add my 1 to the vote, because 0 was not a choice. You received a 1 vote because you did not provide an answer to the question. If the person asking the question understood your [joke] answer then they would not have needed to ask it in the first place.
Sorry, but the idea is to help and not make fun of the person asking the question.
INTP
"Program testing can be used to show the presence of bugs, but never to show their absence."Edsger Dijkstra
|
|
|
|
|
hmm
Code-Frog:So if this is Pumpkinhead. Time for him to run and hide. It's an interesting thought really.
|
|
|
|
|
It seems that on this forum we must only answer to questions;)
|
|
|
|
|
Thanks
*
|
|
|
|
|
In these lines:
if (j-1 > 0 && i+1 <=5 )
{ if (A[i][j] < A[i+1][j-])
"i" can be as large as 4. Which means elements A[5][j] are being accessed - but the declaration was int A[5][5] - i.e. the maximum element is A[4][j]
So array out of bounds ..
cheers,
Neil
|
|
|
|
|
Hi Jobin,
I have created a simple example to simulate TCP using MFC CSocket. The purpose of the code is Server Listens at port number 6000. Once client gets connects to 6000, client sends a message to Server and the server should display the received message. The server code is running correctly in the Application generated by AppWizardExe (include windows sockets check box Yes)but not at console based program.
The code is as follows
s.Create (6000);
s.Listen ();
s.Accept (t);
n = t.Receive ((void*)l,20);
l[n] = 0;
cout<
|
|
|
|
|
The problem is using MFC in a console application. By default, the MFC socket classes need a
window to process socket events. You could get it to work with the proper MFC initialization in a console app but I'm not sure it's worth the trouble unless you're using other MFC classes.
You could try using direct calls to WinSock instead of using the MFC classes.
If you must use MFC then can you post the code used to initialize MFC?
Mark
|
|
|
|
|
Hi
I think your code have to work. Only a question, Have you create the console app with MFC options?
David Leyva
|
|
|
|
|
Clarification for David's question - Have you create the console app with MFC options?
MFC options mean In the preferences I set the option "Use MFC as a shared DLL". Is that you mean or some thing else? Alse the variable s is of type CSocket. Other than the above mentioned code I did not write any thing extra (Except declarations). l is a character array of size 20 and n is an int type. s,t are variables of type CSocket.
For Mark:
---------
I did not write any code related to MFC initialization. Please tell me what is that code to initialize MFC in a console based application. Also, Please mail me how to attach my code to a window in a console based application without that window to be displayed. I did not understand the statement "MFC socket classes need a window to process socket events". Did not understand means How to simulate that is thing I did not understand.
Srikanth K
|
|
|
|
|
Does your app have a main() function or WinMain()?
If so, get rid of that and set the programs entry point (in linker options) to
wWinMainCRTStartup.
If you are using MFC then MFC handles the entry point for you and initializes itself.
As with any normal MFC app you'll need ONE global static object of a class dervived from CWinApp.
Override InitInstance() in this class and perform initialization there, including initializing
Windows Sockets with WSAStartup(). You don't need to create a main window for the app since it's
a console app.
|
|
|
|
|
Hi Srikanth,
Also make sure you hit reply on my messages if you want me to see your replies.
It was just by chance I looked this far into old messages and saw that you had replied
Mark
|
|
|
|