|
I used this MDI Article[^] or MSDN MDI Article[^] but it still gives me errors, I've searched for about a week with thousands of different combination's to get the information i am looking for, can someone teach me or show me an article on how to create MDIParents and Child's and open the child windows when clicking on a button or a menu.
Error 1 error C3699: '*' : cannot use this indirection on type 'MDITest1::Form2' c:\documents and settings\nicholas king\my documents\visual studio 2008\projects\mdi test1\mdi test1\Form1.h 164<br />
<br />
<br />
Error 2 error C2039: 'MDIParent' : is not a member of 'MDITest1::Form2' c:\documents and settings\nicholas king\my documents\visual studio 2008\projects\mdi test1\mdi test1\Form1.h 167<br />
modified on Tuesday, August 26, 2008 4:50 PM
|
|
|
|
|
Looks like that code was written for Managed Extensions for C++
(Visual Studio 2002/2003 .NET).
There is a compiler option to support the old syntax but upgrading
the code to the new syntax is the best long-term option IMO.
Just to make sure - is a .NET forms app really what you want or do you
want a native MDI app? If .NET forms is what you're after, you're posting
on the wrong board.
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Alright, well I am using 2008 and I can't find anything on the new syntax even on MSDN.
Sorry about posting on the wrong board, I usually posted my questions here.
I want native, but doesn't matter to me.
|
|
|
|
|
|
Thanks Mark, I'll take a look at those after I get back tomorrow.
|
|
|
|
|
Hi everyone.
I'm having some problems removing objects from a list.
Here's the code.
cout<<"Name of the band you want to delete: ";
fflush(stdin); getline(cin,nameband);
band = myManager.select_band_name(nameband);
if(band!=0)
{
(...)
myManager.remove_band(*band);
(...)
The remove function is this:
void Manager::remove_band(const Band & bd)
{
available_bands_list.remove(bd);
}
There are no debug or run-time erros... did I miss something?
Thank you.
|
|
|
|
|
Is the "band" you're trying to remove really in the list?
I mean, it looks like you store Band references in the list and the reference you're trying to remove may refer to another object which is not in the list.
"It's supposed to be hard, otherwise anybody could do it!" - selfquote "High speed never compensates for wrong direction!" - unknown
|
|
|
|
|
|
yes.. it worked. I mean, there where no building errors or run-time errors after I made the changes you told me to. The thing is I run the remove function but the object remains there.
|
|
|
|
|
FrankMookie wrote: The thing is I run the remove function but the object remains there.
Have you tried the example code[^] and seen that it works?
Once you see that works correctly, you should then suspect your operator implementation is faulty. You can verify this by debugging.
Cedric Moonen wrote: So you need to provide an operator which receives a Band:
led mike
|
|
|
|
|
Hey mike.. you were right, it was the operator. It was implemented badly. So now it works perfectly! Thanks to everyone. Cheers
"Failure is always an option."
|
|
|
|
|
Hi,
I have tried allowing VS2005 to convert several existing 'VC++6 compilable' projects and with each the results are the same. Tons of ATL related compile errors. None of the projects that I am trying to convert even use ATL! I am assuming this is some sort of compiler/preprocessor setting? The errors occur in:
atlalloc.h
atlconv.h
atldebugapi.h
atltrace.h
I have included below, the first part of the Output display from the compile.
Any help, ideas or a pointer to an answer would be greatly appreciated!
Thanks,
Doug
------ Build started: Project: TPC, Configuration: Debug Win32 ------
Compiling...
StdAfx.cpp
WINVER not defined. Defaulting to 0x0502 (Windows Server 2003)
NOTE: WINVER has been defined as 0x0500 or greater which enables
Windows NT 5.0 and Windows 98 features. When these headers were released,
Windows NT 5.0 beta 1 and Windows 98 beta 2.1 were the current versions.
For this release when WINVER is defined as 0x0500 or greater, you can only
build beta or test applications. To build a retail application,
set WINVER to 0x0400 or visit http:
to see if retail Windows NT 5.0 or Windows 98 headers are available.
See the SDK release notes for more information.
d:\microsoft visual studio 8\vc\atlmfc\include\afxv_w32.h(228) : error C2065: 'DWORD_PTR' : undeclared identifier
d:\microsoft visual studio 8\vc\atlmfc\include\afxv_w32.h(228) : error C2143: syntax error : missing ';' before 'GetWindowThreadProcessId'
d:\microsoft visual studio 8\vc\atlmfc\include\atlalloc.h(80) : error C2065: 'LLONG_MIN' : undeclared identifier
d:\microsoft visual studio 8\vc\atlmfc\include\atlalloc.h(80) : error C2057: expected constant expression
d:\microsoft visual studio 8\vc\atlmfc\include\atlalloc.h(81) : error C2065: 'LLONG_MAX' : undeclared identifier
d:\microsoft visual studio 8\vc\atlmfc\include\atlalloc.h(81) : error C2057: expected constant expression
d:\microsoft visual studio 8\vc\atlmfc\include\atlalloc.h(89) : error C2065: 'ULLONG_MAX' : undeclared identifier
d:\microsoft visual studio 8\vc\atlmfc\include\atlalloc.h(89) : error C2057: expected constant expression
d:\microsoft visual studio 8\vc\atlmfc\include\atlalloc.h(603) : error C3861: '_resetstkoflw': identifier not found
d:\microsoft visual studio 8\vc\atlmfc\include\atlconv.h(92) : error C2061: syntax error : identifier 'LONG_PTR'
d:\microsoft visual studio 8\vc\atlmfc\include\atlconv.h(92) : error C2146: syntax error : missing '(' before identifier 'LONG_PTR'
d:\microsoft visual studio 8\vc\atlmfc\include\atlconv.h(92) : error C2061: syntax error : identifier 'LONG_PTR'
d:\microsoft visual studio 8\vc\atlmfc\include\atlconv.h(92) : error C2146: syntax error : missing '(' before identifier 'LONG_PTR'
d:\microsoft visual studio 8\vc\atlmfc\include\atlconv.h(752) : error C3861: 'memcpy_s': identifier not found
d:\microsoft visual studio 8\vc\atlmfc\include\atlconv.h(754) : error C3861: 'wcscat_s': identifier not found
d:\microsoft visual studio 8\vc\atlmfc\include\atlconv.h(1034) : error C3861: 'memcpy_s': identifier not found
d:\microsoft visual studio 8\vc\atlmfc\include\atlconv.h(1047) : error C3861: 'memcpy_s': identifier not found
d:\microsoft visual studio 8\vc\atlmfc\include\atlconv.h(1063) : error C3861: 'memcpy_s': identifier not found
d:\microsoft visual studio 8\vc\atlmfc\include\atlconv.h(1084) : error C3861: 'memcpy_s': identifier not found
d:\microsoft visual studio 8\vc\atlmfc\include\atlconv.h(1093) : error C3861: 'memcpy_s': identifier not found
d:\microsoft visual studio 8\vc\atlmfc\include\atlconv.h(1138) : error C3861: 'memcpy_s': identifier not found
d:\microsoft visual studio 8\vc\atlmfc\include\atlconv.h(1147) : error C3861: 'memcpy_s': identifier not found
d:\microsoft visual studio 8\vc\atlmfc\include\atlconv.h(1264) : error C3861: 'memcpy_s': identifier not found
d:\microsoft visual studio 8\vc\atlmfc\include\atlconv.h(1277) : error C3861: 'memcpy_s': identifier not found
d:\microsoft visual studio 8\vc\atlmfc\include\atlconv.h(1293) : error C3861: 'memcpy_s': identifier not found
d:\microsoft visual studio 8\vc\atlmfc\include\atldebugapi.h(31) : error C2143: syntax error : missing ';' before '__stdcall'
d:\microsoft visual studio 8\vc\atlmfc\include\atldebugapi.h(31) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
d:\microsoft visual studio 8\vc\atlmfc\include\atldebugapi.h(31) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
d:\microsoft visual studio 8\vc\atlmfc\include\atldebugapi.h(32) : error C2146: syntax error : missing ')' before identifier 'dwProcess'
d:\microsoft visual studio 8\vc\atlmfc\include\atldebugapi.h(32) : warning C4229: anachronism used : modifiers on data are ignored
d:\microsoft visual studio 8\vc\atlmfc\include\atldebugapi.h(32) : error C2182: 'AtlTraceCloseProcess' : illegal use of type 'void'
Doug Knudson
|
|
|
|
|
A few solutions to the problem were found in this thread.
Regards,
--Perspx
"The Blue Screen of Death, also known as The Blue Screen of Doom, the "Blue Screen of Fun", "Phatul Exception: The WRECKening" and "Windows Vista", is a multi award-winning game first developed in 1995 by Microsoft" - Uncyclopedia
Introduction to Object-Oriented JavaScript
|
|
|
|
|
application crashes with the following message.
---------------------------
nav.exe - Application Error
---------------------------
The exception Breakpoint
A breakpoint has been reached.
(0x80000003) occurred in the application at location 0x77f9193c.
Click on OK to terminate the program
Click on CANCEL to debug the program
---------------------------
OK Cancel
---------------------------
---------------------------
Microsoft Visual C++ Debug Library
---------------------------
Debug Assertion Failed!
Program: ...Client\aimNavigator\guiLayer\navigator\DebugMDd\navigator.exe
File: afxcmn.inl
Line: 449
For information on how your program can cause an assertion
failure, see the Visual C++ documentation on asserts.
(Press Retry to debug the application)
---------------------------
Abort Retry Ignore
---------------------------
|
|
|
|
|
so you think copy/pasting Error popup dialogs here will help us more to understand to problem ?
ptr_Electron wrote: Application crash
which application ?
ptr_Electron wrote: A breakpoint has been reached
so you didn't find it ?
|
|
|
|
|
Isn't it repost previous Question[^]
And why didn't you reply to that thread previously??
Regards,
Sandip.
|
|
|
|
|
So have you checked line 449 of afxcmn.inl to see what condition is asserting?
"Love people and use things, not love things and use people." - Unknown
"The brick walls are there for a reason...to stop the people who don't want it badly enough." - Randy Pausch
|
|
|
|
|
So do you have a macro that inserts that text so you don't have to type it so often?
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
That obvious, eh?
"Love people and use things, not love things and use people." - Unknown
"The brick walls are there for a reason...to stop the people who don't want it badly enough." - Randy Pausch
|
|
|
|
|
ptr_Electron wrote: For information on how your program can cause an assertion
failure, see the Visual C++ documentation on asserts.
Yes that's right. The error message is telling you to READ THE DOCUMENTATION!
That's hard to do while your typing messages in to forums isn't it?
led mike
|
|
|
|
|
If you met an assert, just take the Call Stack(alt+7) and you could figure out which line in your source is the root cause for assertion. Do initial checks such as whether the parameters are valid etc. If you couldn't reach to a solution then post it.
Atleast it will help you to ask more specific question. Its quite difficult to figure out what went wrong by just having the assertion details since its from windows library. The line in your source which triggers the assertion does matter rather than assertion location from windows library.
Regards,
Jijo.
_____________________________________________________
http://weseetips.com[ ^] Visual C++ tips and tricks. Updated daily.
|
|
|
|
|
Thanks for responce to all
Application crashes even before window is displayed, I found it is @ the below statement. But onlye in the release build, fine with the debug build
pls advice
WINMAIN.CPP
38:
39: if (!pThread->InitInstance())
5F433518 mov ecx,dword ptr [pThread]
5F43351B mov edx,dword ptr [ecx]
with the below msg
---------------------------
nav.exe - Application Error
---------------------------
The instruction at "0x5f43351b" referenced memory at "0x00000000". The memory could not be "read".
Click on OK to terminate the program
Click on CANCEL to debug the program
---------------------------
OK Cancel
---------------------------
|
|
|
|
|
The pThread is valid ptr? Have a look at this article[^]. It describes how to survive in release version.
Regards,
Jijo.
_____________________________________________________
http://weseetips.com[ ^] Visual C++ tips and tricks. Updated daily.
|
|
|
|
|
By the way Call Stack(alt+7), popsup the project settings dialog box only
|
|
|
|
|
ptr_Electron wrote: By the way Call Stack(alt+7), popsup the project settings dialog box only
Buddy, Its Alt+7 itself. Not Alt+F7 .
Alt+ 7 - to show call stack while debugging.
Alt+F7 - to show project settings.
Follow your eyes.
Regards,
Jijo.
_____________________________________________________
http://weseetips.com[ ^] Visual C++ tips and tricks. Updated daily.
|
|
|
|