|
Am sorry, i found the memory leak, it wasn't the code in the thread but it was a piece of code in the checking for the right ip. i used a linked list to check it the ip that tries to log in has been banned from the server. it seemed that i kept deleting the ip from the database while it wasn't even in the database. this also explains why the log-on procedure took about 20 too 40 ms, while i'm only working with linked lists.
i changed the code to delete the ip from the database only if it is found in the linked list(mirror to the database), now my logon procedure is takes < 5 ms(the computer says it takes 0 ms so... ).
[]D [] []D []
|
|
|
|
|
Hey Code Gurus
I'm pretty new with the language, but I'm ready to learn.
Are there any tutorials that deal with basic http protocal handling and socket connections?
I want to build 2 simple programs.
1. A program that sits on top of a socket and bounces strings through the HTTP stream. Basically an incredibly simple web-server.
2. A small program that opens an HTTP connection and recieves everything from that connection.
I don't really know where to start.
Anyway, thanks folks.
|
|
|
|
|
I highly recommend Network Programming for Microsoft Windows, Second Edition by Anthony Jones and Jim Ohmund.
For HTTP: http://www.w3.org/Protocols/rfc2068/rfc2068
Kuphryn
|
|
|
|
|
Hi everyone,
i want to add tool tips in a CFormView(SDI) program.How can i do that?
|
|
|
|
|
Call EnableToolTips(TRUE) in the OnIntiialUpdate()
// in header file
afx_msg BOOL OnToolTipNotify(UINT id, NMHDR *pNMHDR, LRESULT * pResult);
// add this to your message map
ON_NOTIFY_EX(TTN_NEEDTEXT, 0, OnToolTipNotify)
// add the tooltip text for each IDC of a cntrol on your form. Note that all CStatic objects must have the SS_NOTIFY style set in the resources to get a tooltip for them.
BOOL CYourFormView::OnToolTipNotify(UINT , NMHDR *pNMHDR, LRESULT * )
{
TOOLTIPTEXT *pTTT = (TOOLTIPTEXT *)pNMHDR;
if (pTTT->uFlags & TTF_IDISHWND)
{
CRect rctTemp;
CPoint pntMouse;
GetCursorPos(&pntMouse);
UINT nID = ::GetDlgCtrlID((HWND)pNMHDR->idFrom);
pTTT->lpszText = NULL;
switch (nID)
{
case IDC_TITLE :
pTTT->lpszText = "Tray setup title";
break;
case IDC_NEW_ASSAY :
pTTT->lpszText = "Create new assay in selected position";
break;
}
if (pTTT->lpszText != NULL)
{
return(TRUE);
}
}
return(FALSE);
}
Roger Allen
Sonork 100.10016
Were you different as a kid? Did you ever say "Ooohhh, shiny red" even once? - Paul Watson 11-February-2003
|
|
|
|
|
Note that this might not work too well for ActiveX controls, if there are any on the form. I dd something similar, and you don't seem to get anything for an ID for the ActiveX controls on a form, so you have to keep track of their window handles.
|
|
|
|
|
Has anyone ever seen a pre-written control for implementing a row of buttons that look like the tabs of vc6's output frame ? the bits that say "build","debug","find in files 1", etc
i don't want a full on tab control- just a row of buttons that i can handle events for.
any pointers greatly appreciated. otherwise i'll have to write it myself.
thanks
jon
#include <beer.h>
|
|
|
|
|
check out (MSDN) what TCS_BUTTONS and TCS_BOTTOM can do for you
|
|
|
|
|
Hy.
I'm developing an MDI application, and i've got a problem.
I'm trying to add submenus to the main menu, but i can't get the MDI menu, only the main APP menu. I tried with GetMenu, but that only returns the Main App menu.
How can i get a pointer to the MDI menu ???
|
|
|
|
|
The menu's used in MDI are:
CMainFrame::m_hMenuDefault (when no windows are open)
CDocTemplate::m_hMenuShared (for each doc template added)
You will need to modify these menu resources.
AfxGetMainWnd()->m_hMenuDefault;
for doctemplates
CDocManager *pDocMan = AfxGetApp()->m_pDocManager;
POSITION pos = pDocMan->GetFirstDocTemplatePosition();
while (pos)
{
CDocTemplate *pDocTemplate = pDocMan->GetNextDocTemplate(pos);
}
Thats just a quick overview.
Hope its of help.
Roger Allen
Sonork 100.10016
Were you different as a kid? Did you ever say "Ooohhh, shiny red" even once? - Paul Watson 11-February-2003
|
|
|
|
|
Thanx, it worked.
The only problem was, that CDocTemplate doesn't contain the m_hMenuShared, the CMDIDocTemplate contains it, so here's how i made it :
POSITION pos = pDocMan->GetFirstDocTemplatePosition();
while (pos)
{
CMultiDocTemplate *pDocTemplate = (CMultiDocTemplate*)pDocMan->GetNextDocTemplate(pos);
}
::InsertMenu(pDocTemplate->m_hMenuShared,1,MF_BYPOSITION | MF_POPUP, (UINT)pMenu->m_hMenu, "submenu");
wich added the "submenu" just after "File".
|
|
|
|
|
I am trying to resize my application based on the size of a loaded file. First I tried to use SetWindowPos() this worked, but did not resize the frame. So I have attempted to use MoveWindow() to do this, and it works.. but not as expected. For example if somebody could review this code fragment and tell me whats up. The file I am loading is a video, and lets say the size is 320 x 480 the frame resizes to a really tiny window.
CRect winRect;
CRect tmpRect;
GetClientRect(tmpRect);
if(!m_media.GetVidSize(winRect))
DoError("Unable to receive size");
GetParentFrame()->MoveWindow(tmpRect.Width(),tmpRect.Height(),winRect.Width(), winRect.Height());
CString str;
str.Format("Video Width: %d\nVideo Height: %d\n",
winRect.Width(), winRect.Height());
TRACE(str);
I can verify that GetVidSize() is returning correct results based upon the TRACE statment wich outputs
320 and 480.
Thank you
|
|
|
|
|
You have made mistake in the following function call :
GetParentFrame()->MoveWindow(tmpRect.Width(),tmpRect.Height(),winRect.Width(), winRect.Height());
First parameter should be X coordinate and second one should be Y coordinate of the screen. So in your case it should be tempRect.TopLeft().x & tempRect.TopLeft().y respectively
Regards
C.R.Naik
|
|
|
|
|
Thank you for the correction Chintan, I realized that something was not right with the first two values. However these values reflect were the x,y orgin of the window is if I'm correct in saying that. In my actual code I was using 0,0 and just putting the frame in the upper left corner.
Anyways thank you again. You have prolly saved me a little research on how to get the correct coordinates
|
|
|
|
|
What Kind of application you are developing ? SDI,MDI ? let mw know..
Vikram
|
|
|
|
|
Developing an SDI Application.
|
|
|
|
|
The reply from naik is correct. Just check it out...
|
|
|
|
|
Not exactly what I am looking for. The frame still resizes to a very tiny view. I have tried setting the SetMapMode() to different values.. but that has not worked out very well either.
|
|
|
|
|
If you are tring in CMainFrame then just use this->MoveWindow(...);
else if it is in View use AfxGetMainWnd()->MoveWindow(..);
|
|
|
|
|
That is the code that I am using
MoveWindow(...)
::MoveWindow(...)
GetParentFrame()->MoveWindow(...)
AfxGetMainWind()->MoveWindow(...)
all produce the same results. The window is resized, but not of the correct size. the CRect structure will have correct numbers for the Width and Height.. however I don't understand how those numbers are being mapped. It seems like 320 is being mapped to 320 mini micro half pixels.
|
|
|
|
|
I think this must be issue between player output coorinates and the co-odinates you are setttig..i think you need to set the View's size ..Is it so?and not whole Window..
|
|
|
|
|
Hmmmm.. Using DirectX9 VMR to display a video.. If I use MoveWindow(...) on the view and don't call it through the parent frame .. it sets to the correct size. However the view is never "updated" wether I call Invalidate() or not. so It appears that a Video has plopped on top of the CView window, and will overwrite the status bar, and what not.
If I call the funtion through the Frame Window.. It resizes the whole window.. but makes the window tiny.
|
|
|
|
|
see actually the size of the FrameWindow you are considering while resizing.and actually the View needs to be of that size.so just take the framewindows rectangle and view rectangle and fine out what exactly the size you want. that meant your main windows is slightly bigger. and view will be of exact size.In short you need to manipulate the width and height of main window ...by finding the exact difference between upper left and top coordinates of view and Mainframe.
|
|
|
|
|
hmm.. that is understandable.. makes scence I guess.. For now I have moved on .. automaticly resizing the default video widht and height isn't a need to have feature I guess, since the user can simply drag the window to whatever size he/she wants.
|
|
|
|
|
In order to register a COM dll we use regsvr32. But suppose the COM component is not in the form of dll but in the form of exe then how to register this exe on the client machine. I tried regsvr32 on exe but it immediately give error that it can only register OCX or dll and not exe
|
|
|
|