|
Now what do you need?did you see GDI+
|
|
|
|
|
Hi,
I have used SetFocus() method many times in a file in my application.The application works fine but when I run my application and move the cursor to open another application(not necessarily a vc++ application) , the application crashes.Is the crash because of the SetFocus()...If so what is the solution.
Thanks in advance.
Sandhya
|
|
|
|
|
use killFocus()as many no of times as SetFocus()
never say die
|
|
|
|
|
can you show the code, how you have used setfocus.
|
|
|
|
|
Actually I am using the PropertySheets.In one of the propertyPage I have some edit controls.For each edit control there is some validation.I have handled these validations in the respective editcontrol's EN_KILLFOCUS event.
For one of the edit boxes the code is as follows:
void CMyFile::OnKillfocusEditRange()
{
CWnd *cwnd=GetFocus();
if(cwnd->GetDlgCtrlID() == IDCANCEL)
return;
else
CheckRanges(IDC_EDIT_RANGE);
}
void CMyFile::CheckRanges(int intID)
{
CString str;
double d1;
GetDlgItemText(intID,str);
d1=_tcstod(str,NULL);
if(d1 > 5 || d1< -5)
{
AfxMessageBox(_T("Range should be in 5 and -5");
pEdit = (CEdit *)GetDlgItem(intID);
pEdit->SetFocus();
}
}
I am doing the same checking even in the OnApply() .(After setfocus I return FALSE otherwise I return "return CPropertyPage::OnApply(); "
After running the application and when the message "Range should be in 5 and -5" is raised ,after clicking the Ok button of the AfxMessageBox ,if I move the cursor to open some other application there is a crash as "the memory cannot be read"
Sandhya
|
|
|
|
|
I doubt _tcstod is corrupting some memory.
Try commenting that line and just run through same flow i.e. use this code
void CMyFile::CheckRanges(int intID)
{
CString str;
double d1;
GetDlgItemText(intID,str);
if(1)
{
AfxMessageBox(_T("Range should be in 5 and -5");
pEdit = (CEdit *)GetDlgItem(intID);
pEdit->SetFocus();
}
|
|
|
|
|
What kind of crash? Where was the crash? Is there a call stack to the faulting code? Please be more specific and provide at least the answers to the above questions.
Steve
|
|
|
|
|
Actually I am using the PropertySheets.In one of the propertyPage I have some edit controls.For each edit control there is some validation.I have handled these validations in the respective editcontrol's EN_KILLFOCUS event.
For one of the edit boxes the code is as follows:
void CMyFile::OnKillfocusEditRange()
{
CWnd *cwnd=GetFocus();
if(cwnd->GetDlgCtrlID() == IDCANCEL)
return;
else
CheckRanges(IDC_EDIT_RANGE);
}
void CMyFile::CheckRanges(int intID)
{
CString str;
double d1;
GetDlgItemText(intID,str);
d1=_tcstod(str,NULL);
if(d1 > 5 || d1< -5)
{
AfxMessageBox(_T("Range should be in 5 and -5");
pEdit = (CEdit *)GetDlgItem(intID);
pEdit->SetFocus();
}
}
I am doing the same checking even in the OnApply() .(After setfocus I return FALSE otherwise I return "return CPropertyPage::OnApply(); "
After running the application and when the message "Range should be in 5 and -5" is raised ,after clicking the Ok button of the AfxMessageBox ,if I move the cursor to open some other application there is a crash as "the memory cannot be read"
Sandhya
|
|
|
|
|
|
Which line has error?and did you use from breakpoint?
|
|
|
|
|
Maybe you are trying to set the focus to a control that exist no longer
SkyWalker
|
|
|
|
|
hey, skywalker is back !
still "very-busy busy" ? or you took a break ?
|
|
|
|
|
"Back"! That's very ... well said.
I am in the middle of looking for a job
SkyWalker
|
|
|
|
|
Mircea Puiu wrote: I am in the middle of looking for a job
but you opened your own company!
"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
Support CRY- Child Relief and You
|
|
|
|
|
I did, Alok. And I closed it . And I am back where I belong.
SkyWalker
|
|
|
|
|
hello everyone. i am building an FTP client to upload files on to an FTP server. my ftp client can create a folder, upload files and almost does everything when connected to local server. in fact, the code works fine with the local server. but when a remote server is used, my ftp client cannot upload files on to the server. the directory listing also cant be obtained. can anyone help?? its urgent..
thanks..
vijay aroli
|
|
|
|
|
Hello vijay,
I m not sure but I think it is problem due to Firewall or NAT.
regards,
Divyang Mithaiwala
System Engineer & Software Developer
|
|
|
|
|
thank u for replying to me. can u tell me how can i find what the exact problem? the code works fine for the local server and fails for the remote server. plz, its urgent..
|
|
|
|
|
hi!! thanks to everyone. the problem has been solved. the problem was that i was using Active mode of transmission for the connection rather than Passive mode. i changed the connection to passive mode and the code worked fine for the remote server too. i again thank everyone.
|
|
|
|
|
THis code compiles ok when i click priceqoute botton it display request id but when it comes to
next it give a erreor message "invalid market no",and "invalid amount"
Can anybody suggest me how to come out of this....should i change the variable type or what...
<br />
void CWartz_newDlg::OnBpricequote() <br />
{<br />
int pageno(0);<br />
requestid=m_arielapi.RequestPrices(sessionid,pageno);<br />
CString displaydata;<br />
displaydata.Format(_T("==>Request ID [%s]"),requestid);<br />
LOG(0,displaydata); <br />
<br />
BOOL bSuccess=FALSE;<br />
<br />
for(int n=0;n<3;n++)<br />
{<br />
if(requestid)<br />
{<br />
bSuccess=TRUE;<br />
break;<br />
}<br />
}<br />
if(bSuccess)<br />
{<br />
long marketno=0;<br />
CString amount;<br />
short tradetype=0;<br />
CString exchange,account,clientref;<br />
<br />
<br />
m_arielapi.RequestQuote(sessionid,marketno,amount,tradetype,exchange,account,clientref);<br />
CString cstrDisplayData;<br />
<br />
cstrDisplayData.Format(_T("==>[%s][%s][%s][%s][%s][%s][%s]"),sessionid,marketno,amount,tradetype,exchange,account,clientref);<br />
LOG(0,cstrDisplayData);<br />
}<br />
<br />
}<br />
-- modified at 0:20 Thursday 17th August, 2006
|
|
|
|
|
What is it and wheres error?
|
|
|
|
|
this function having the problem.
m_arielapi.RequestQuote(sessionid,marketno,amount,tradetype,exchange,account,clientref);
the error is it it is showing "Invalid Market no." etc...
seems some problems with the comparison routine.
|
|
|
|
|
Its not sufficient for answer,right?he needs to say detaily
|
|
|
|
|
|
priyanka s wrote: m_arielapi.RequestQuote(sessionid,marketno,amount,tradetype,exchange,account,clientref);
hi Priyanka,
we dont know what's the implementation of the RequestQuote function. then how we could predict the output.
check comparison statements inside the function.
can't you debug the code?
|
|
|
|