|
I mean the OnBnClickedCancel() method,...
A student knows little about a lot.
A professor knows a lot about little.
I know everything about nothing.
|
|
|
|
|
it's just EndDialog(IDCANCEL);
|
|
|
|
|
When I look at the declaration of EndDialog, you are missing a parameter! (from the msdn library: BOOL EndDialog(HWND hDlg, INT_PTR nResult);)
but let's get something straight:
When you press the cancel button, OnBnClickedCancel() is called.
From there you call EndDialog().
Assuming this, maybe you should call CDialog::OnCancel(). The EndDialog function just ends the message loop returning control to the system, maybe something goes wrong there.
A student knows little about a lot.
A professor knows a lot about little.
I know everything about nothing.
|
|
|
|
|
OK,
I'll try: wait a moment
|
|
|
|
|
I'm sorry, doesn't work
DO you have got some other idea's
I'll put the code of my first window, wich will have to receive the message, below this text.
void CF2FDlg::ga_naar_IOscherm(Cmodeprop C)<br />
{ <br />
IOschermclass *iosclass;<br />
iosclass=new IOschermclass();<br />
iosclass->set_properties(C);<br />
<br />
INT_PTR nRet = -1;<br />
nRet=iosclass->DoModal();<br />
<br />
<br />
<br />
switch(nRet)<br />
{<br />
case IDCANCEL:<br />
{<br />
return;<br />
}<br />
case IDC_stop:<br />
{<br />
break;<br />
}<br />
<br />
case 1:<br />
{<br />
return;<br />
}<br />
default:<br />
{<br />
return;<br />
}<br />
};<br />
<br />
<br />
return;<br />
}<br />
|
|
|
|
|
I'm sorry, doen't work
DO you have got some other idea's<br />
<br />
I'll put the code of my first window, wich will have to receive the message, below this text.<br />
<br />
<br />
void CF2FDlg::ga_naar_IOscherm(Cmodeprop C)<br />
{ <br />
IOschermclass *iosclass;<br />
iosclass=new IOschermclass();<br />
iosclass->set_properties(C);<br />
<br />
INT_PTR nRet = -1;<br />
nRet=iosclass->DoModal();<br />
<br />
<br />
<br />
switch(nRet)<br />
{<br />
case IDCANCEL:<br />
{<br />
return;<br />
}<br />
case IDC_stop:<br />
{<br />
break;<br />
}<br />
<br />
case 1:<br />
{<br />
return;<br />
}<br />
default:<br />
{<br />
return;<br />
}<br />
};<br />
<br />
<br />
return;<br />
}<br />
|
|
|
|
|
I just solved the problem... I thought you might like to know how I did it,, but I don't understand it myself --> when I removed the setproperties call, everything worked okay.
The program must have had the problems because of that crash, although it is just a very simple function:
Th second screen has an own object of type Cmodeprop, with setproperties you povide an object to get passed to the second window. It is something like this:
set_properties (Cmodeprop C)<br />
{<br />
own_props=C;<br />
return;<br />
}
This is really strange (microsoft!!!)
|
|
|
|
|
That sure is strange! Well, At least you solved it! .
I once had a strange assertion in my program. It took me 3 days to solve it !
(by the way, Cmodeprops is probaly a class, did you write a copy constructor? or overload the operator=? It might solve something!)
Good luck...
|
|
|
|
|
Hello,
I had a similar error. Try "Rebuild All"
|
|
|
|
|
Let me try........
No doesn't work:
I've pressed clean solution under BUILD, ad then Rebuild Solution. After trying again I got the same error
|
|
|
|
|
It is strange
Difficult say more without seeing project settings and code...
Vitali
|
|
|
|
|
I've put some code on this forum (this thread at 8:37), please take a look
|
|
|
|
|
Thakns, but I don't think this will make a change ?
|
|
|
|
|
Normal code;)
Some comment:
Replace :
IOschermclass *iosclass= new IOschermclass();
INT_PTR nRet = -1;
nRet=iosclass->DoModal();
to
IOschermclass iosclass;
int nRet=iosclass.DoModal();
May be you doing "something artful" in this dialog?
Vitali
|
|
|
|
|
I am building a MFC based program that will first run a series of pings and then NET VIEW command to see which users are online. I have already been able to create a process to run ping.exe, but how can I run NET VIEW and capture the output? I've been digging information, and my head is spinning. Not even coffee helped :P How to capture output from CreateProcess()?
|
|
|
|
|
Поцелуй свой поток в зад!!!
|
|
|
|
|
Use a Pipe to redirect the output to your window;
See CreatePipe, STARTUPINFO and CreateProcess.
Arjan.
|
|
|
|
|
Thank you for the reply. It led me to find an article named "Creating a child process with redirected input and output", which is exactly what I wanna do
|
|
|
|
|
Hi,
I'm studying C++, VC++, COM. I would like to know real world examples of various assignments programmers have worked on. For example, what the application did what role did they play. The examples would be using these kinds of technologies. If any programmers could provide some insight into their "real world VC++, MFC, COM experiences it would be very helpful. Any one who has worked on large scale apps, developing controls, database interfaces, or anything else they have done using these technologines, who can lend some insight into how they real world of programming is.
|
|
|
|
|
My first "real" job was in a manufacturing environment, (before C++ and MFC was even a smile on someone's face), where numerically controlled machine tools produced parts for larger assemblies. Since each machine had a special set of codes that caused it to perform specific actions, there was a compiler that would translate the commands to create a part into the machine codes to control the machine.
My job as a programmer was to "update" the compiler and make it work on the new computing platform that was being installed as part of the shop floor overhaul. The legacy code was written in FORTRAN IV, and we were also updating it to F77 on the new computer, in addition to cleaning up as much of the "bad" software as we could. Ever done string processing in FORTRAN? Ouch!!
Since the new computer was much newer than the computer that ran the legacy code, there were some new options available for producing graphics, so I also developed a graphical display of the paths that the machines would follow given the codes that were produced from the compiler for the parts that were being made. Reviewing the graphics output saved the time and trouble of setting the machines up to create a test piece, to see if the part program was really correct.
That was only my first job, and it lasted several years. Much of the experience, though, wasn't so much about programming as it was about manufacturing. The compiler and graphics software never stood on its own, but was an integral part of the manufacturing process. That process had to be understood to make the software fit in.
Very good question, too, and I hope you get some good stories and insights.
Dave
"You can say that again." -- Dept. of Redundancy Dept.
|
|
|
|
|
I want to use CRecentFileList as a convenient way of storing some data for my program. As a test, I wrote a console app that creates a CRecentFileList object. I add some strings to it using the Add() method and then use the [] operator to read the strings. Everything works OK until I try to save the data to the registry using the WriteList() method. I get an access violation.
Is there something I'm doing wrong? Must I write my own class to do it? Using CRecentFileList is easier and quicker but I do not think I am really using it as it was intended. It is a shame it isn't a specialization of a class that I could use for my intended purpose.
|
|
|
|
|
The WriteList() method requires a CWinApp object, as you can see from the code:
void CRecentFileList::WriteList()
{
ASSERT(m_arrNames != NULL);
ASSERT(!m_strSectionName.IsEmpty());
ASSERT(!m_strEntryFormat.IsEmpty());
LPTSTR pszEntry = new TCHAR[m_strEntryFormat.GetLength()+5];
CWinApp* pApp = AfxGetApp();
pApp->WriteProfileString(m_strSectionName, NULL, NULL);
for (int iMRU = 0; iMRU < m_nSize; iMRU++)
{
wsprintf(pszEntry, m_strEntryFormat, iMRU + 1);
if (!m_arrNames[iMRU].IsEmpty())
{
pApp->WriteProfileString(m_strSectionName, pszEntry,
m_arrNames[iMRU]);
}
}
delete[] pszEntry;
}
The good news is that WriteList() is virtual, so you could probably just rewrite this one method to make it work.
HPS HwndSpy - GUI developer's aid to visually
locate and inspect windows. For the month of August
only, use coupon code CP-81239 for 30% off.
|
|
|
|
|
Hello all
I'm trying to enable context sensitive help for cproperty sheet. I created a Dialog project by select "Use context sensitive help" from appwizard. I added a button to the Dialog and written the following handler.
MyDialog::OnClick()
{
MyPropertySheet sheet("SampleSheet");
sheet.AddPage(new MyPropertyPage());
sheet.DoModal();
}
when click event is occured it shows up propertypage and if I click "Help" button or f1 key I'm getting "Help topic does not exist, contact application vendor".
I edited the afxDlg.rtf and added the following
#HIDD_MYSHEET This is mysheet help
<page-break>
HIDD_MYHEET id defined in .hm file.
I also added an entry in .hpj file under map section like
#define HIDD_MYSHEET <value defined="" in="" .hm="" file="">
I'm not able to figure out where I'm doing wrong. if any one knows how to do enable help for the propertysheet please help me.
Many thanks for your help.
Hari.
|
|
|
|
|
Try calling ModifyStyleEx(0, WS_EX_CONTEXTHELP) in your CPropertySheet's OnInitDialog.
HPS HwndSpy - GUI developer's aid to visually
locate and inspect windows. For the month of August
only, use coupon code CP-81239 for 30% off.
|
|
|
|
|
Hello HPSI
thanks for the reply. I tried it but I'm getting the same error . Any idea how to solve.
Thanks
Hari.
|
|
|
|