|
MFC can be compared to a Wrapper AROUND Win32 calls; it makes creating and managing UI (mostly) easier for the programmers.
Wrapper functions or classes are created to make API simpler to use.
|
|
|
|
|
huehue wrote: To me a wrapper is that little bit of paper I have to go through to get to a piece of gum
I think you've found your way.
More specifically (but informally), we usually talk about Wrappers only in OOP. For instance MFC builds objects (wrappers) around plain C API. Wrapper is a broad concept of OOP, you can find specialized applications of this concept (for instance) in Proxy , Facade , Adapter design patterns.
hope that helps
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.
|
|
|
|
|
A wrapper is some code or object which simplifies or adapts the use of some service by isolating the user from the complexities/specifics of its interface; often providing a simpler or more portable interface. Conceptually it "wraps" around the old interface.
Steve
|
|
|
|
|
This helps, thanks guys...
|
|
|
|
|
I’m working in a big MFC application. I now have Several Forms to add into this application. The original developer says there is no reason to stick with MFC. So I need to convert this MFC application. I’m looking for websites and/or books on converting. Both the old and new application will need to be written in C++.
Any advice would help.
Thanks
Programmer
Glenn Earl Graham
Austin, TX
|
|
|
|
|
If it's not broken, don't change it.
question to ask yourself :
Will that change bring an additional value to your development process in the short, medium and long term
Can you spend the time doing Research to do this ? Can you spend the time to do the additional development ?
|
|
|
|
|
|
I have it on order. Thanks
Programmer
Glenn Earl Graham
Austin, TX
|
|
|
|
|
Hi, I am using Visual Studio 2005, I build new win32 console application project and I tried to compile this simple code
<br />
#include "stdafx.h"<br />
#include <iostream><br />
<br />
int _tmain(int argc, _TCHAR* argv[])<br />
{<br />
using namespace std;<br />
char question[] = "Please, enter your first name: ";<br />
char greeting[] = "Hello, ";<br />
char yourname [80];<br />
cout << question;<br />
cin >> yourname;<br />
cout << greeting << yourname << "!";<br />
return 0;<br />
}
But I get error of
error LNK2019: unresolved external symbol "__declspec(dllimport) class std::basic_ostream<char,struct std::char_traits<char> > &__cdecl std::operator<<<char,struct std::char_traits<char> >(class std::basic_ostream<char,struct std::char_traits<char> > &,char const *)" (__imp_??$?6DU?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBD@Z) referenced in function _wmain
But when I comment out the line
it compile successfully.
I think there is library file missing, but don't know which one. I googled out so many website and still can't find out the solutions, any ideas how to solve this ?
Thanks.
-- modified at 1:33 Sunday 6th May, 2007
|
|
|
|
|
esia wrote: I think there is library file missing, but don't know which one.
Which ones are you linking with?
"A good athlete is the result of a good and worthy opponent." - David Crow
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
Thanks for your reply, I didn't link any library file, but when I read from this solved post where they include the path to msvcprt.lib, http://www.tek-tips.com/viewthread.cfm?qid=1354561&page=1
But when I did that, I still get the same error. Any ideas how ?
|
|
|
|
|
The following are the default libraries for a Visual Studio 2005 C++ Win32 Console application: kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib.
"We make a living by what we get, we make a life by what we give." --Winston Churchill
|
|
|
|
|
Thanks for your reply, but what you trying to explain to me ?
|
|
|
|
|
Are you using the /nodefaultlib compiler switch?
"A good athlete is the result of a good and worthy opponent." - David Crow
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
George L. Jackson wrote: The following are the default libraries for a Visual Studio 2005 C++ Win32 Console application: kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib.
But the relevant one is going to be one of:
libcmt.lib
msvcrt.lib
libcmtd.lib
msvcrtd.lib
msvcmrt.lib
msvcurt.lib
These are governed by the /nodefaultlib and /Mx compiler switches.
"A good athlete is the result of a good and worthy opponent." - David Crow
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
On VC++ 6.0 I need these to get that to compile and run...
#include <iostream>
#include <tchar.h>
// Not sure if that helps since I don't have Visual C++ 2005
|
|
|
|
|
bob16972 wrote: On VC++ 6.0 I need these to get that to compile and run...
#include <iostream>
#include <tchar.h>
// Not sure if that helps...
Especially since it's a linker error.
"A good athlete is the result of a good and worthy opponent." - David Crow
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
Fair enough. I was just hoping they had been tinkering to get errors to go away and they were posting the latest error which may have been after changing project settings around etc...
I didn't realize the include for iostream was there since they didn't check the "ignore HTML tags in this message" box. I saw your other post and took a look at the html source and there it is.
I was hoping that maybe by starting a new project and copying and pasting the code with the includes would fix it if they had messed with the project settings before posting the latest errors.
I would assume VC++ 2005 would give the correct basis for a crt project but maybe I'm mistaken. This thread may help spark some ideas for the original poster...
ideas and shots in the dark[^]
|
|
|
|
|
Include
#include <iostream> .
Regards,
Paresh.
|
|
|
|
|
Paresh Chitte wrote: #include <iostream>
It already is being included. Furthermore, it's a linker error, not a compiler error.
"A good athlete is the result of a good and worthy opponent." - David Crow
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
|
Sorry for the late of reply, actually I did include #include <iostream>, I forgot to convert the tag to the literal string, so the browser always treat the opening tag as html code. Ok but my problem has been solved when I changed the setting, Project > properties > C/C++ > Runtime Library > Multi-threaded Debug DLL (/MDd) . Does anybody knows why is it so ? I am using Visual Studio 2005 professional,
|
|
|
|
|
Hi I need to manage a progressBar into MyThread class(CWinThread derived) using a timer but I can use the ON_WM_TIMER Event message.
How can I do it? Using the SetTimer function but how?
Thanks
|
|
|
|
|
CDRAIN wrote: How can I do it? Using the SetTimer function but how?
They hide that information in the Documentation[^]
led mike
|
|
|
|
|
Sorry, I made an error on the description of my problem:
I can't use the ON_WM_TIMER message because my class MyThread isn't derived from the CWnd but from the CWinThread.
How can I do this?
|
|
|
|