|
Hi all,
I installed the VC++ 2005 Express and started with a very simple program. It compiles but can not be executed: "MSVCP80D.dll can not be found". I re-installed the Express Edition but the problem persists.
Help me please!
Thanks a lot and wish you a Merry Christmas!
Mr. Indestructible
|
|
|
|
|
I found some links that might help you with your issue... hope this helps:
http://www.codecomments.com/archive292-2005-11-692791.html
http://blogs.msdn.com/michkap/articles/category/8354.aspx
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=142382&SiteID=1
Good luck!
|
|
|
|
|
Thanks Lenny P,
I was not able to tell you earlier that it's kind for helping me. I will go to the links that you gave me.
Happy new year!
M. Indestructible
Save the world!
|
|
|
|
|
When I define a dialog in a dll (MFC) the compiler refuses to recognise the resource ID. Do I have to use COM?
GER
Ger
|
|
|
|
|
more complicated than you may think.
If you are using a MFC extension DLL then you will need to link the resources of your DLL into the clients resource chain.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_MFCNOTES_TN033.asp[^]
If you are using a bog standard DLL you need to switch the context to that of the DLL using a call to
AFX_MANAGE_STATE(AfxGetStaticModuleState());
before constructing the dialog class. I do this by having a manager class do all the dialog construction/domodal e.t.c. from within the DLL so I can make the manage state call.
This will lead to all sorts of other issues if your dialog is modeless though.
Not the view of my employer
|
|
|
|
|
Hi All ,
i have some data(raw data) and i want to save those as xml in to hardisk , how do i do it in vc++,can any one help me sending the link or give an idea .
Regards
Farpointer
|
|
|
|
|
I suggest that you read up on MSXML. You still need to read the "raw" data yourself, though - either by reading it into a datastructure or - if its "human readable" - by parsing it into one.
MSXML provides loads of functions to read and write XML files.
There are some other XML libs out there that might be more advanced or sophisticated, but until now, I only had to read a few setting from a file that held some configuration options.
MSXML should be available on most win-boxes, though I am not sure about the relation between windows-version/SP and msxml-release.
With VC7, you could also use the tools provided by the .NET-Runtime, which handles XML pretty well, but would require the .NET Redistributable to be installed on the target system.
If you need further information on XML per se: I think a saw a free EBook on the O'Reilly-Website dealing with XML in general.
Cheers,
Sebastian
--
Contra vim mortem non est medicamen in hortem.
|
|
|
|
|
|
HI EveryBody,
I am facing a problem... i am not able to compile this code.. could any body suggest me work around for following code :-
#include <iostream.h>
typedef int wxCoord ;
template <class T>
class CTextDropTarget
{
private:
bool (T::*m_pt2CallbackFunc)(wxCoord x, wxCoord y);
public:
CTextDropTarget(bool (T::*pt2Func)(wxCoord x, wxCoord y));
virtual ~CTextDropTarget(void);
virtual bool OnDropText(wxCoord x, wxCoord y);
};
template <class T>
CTextDropTarget<T>::CTextDropTarget(bool ( T::*pt2Func)(wxCoord x, wxCoord y))
{
m_pt2CallbackFunc=pt2Func;
}
template <class T>
CTextDropTarget<T::~CTextDropTarget(void)
{
}
template <class T>
bool CTextDropTarget<T>::OnDropText(wxCoord x, wxCoord y)
{
return false;
}
class CSACAddressListCtrl
{
public:
CTextDropTarget<CSACAddressListCtrl> *m_pDropTarget;
static bool OnTextDropTarget(wxCoord x, wxCoord y)
{
return x+y;
}
};
void main()
{
CTextDropTarget* m_pDropTarget = new CTextDropTarget<CSACAddressListCtrl>( &CSACAddressListCtrl::OnTextDropTarget);
}
"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
-- modified at 8:01 Thursday 22nd December, 2005
|
|
|
|
|
|
toxcct wrote: dear alok what does the compiler or the linker say ?
Ohh Sorry!, here is what compiler/linker says
D:\Alok\Test Project\cpp\11.cpp(70) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)
D:\Alok\Test Project\cpp\11.cpp(78) : error C2664: '__thiscall
CTextDropTarget<class CSACAddressListCtrl>::CTextDropTarget<class
CSACAddressListCtrl>(bool (__thiscall CSACAddressListCtrl::*)
(int,int))' :
cannot convert parameter 1 from 'bool (__cdecl *)(int,int)' to 'bool (__thiscall CSACAddressListCtrl::*)(int,int)'
There is no context in which this conversion is possible
Error executing cl.exe.
"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
-- modified at 8:23 Thursday 22nd December, 2005
|
|
|
|
|
ThatsAlok wrote: D:\Alok\Test Project\cpp\11.cpp(70)
I don't see 70 lines in your code snippet.
"Take only what you need and leave the land as you found it." - Native American Proverb
|
|
|
|
|
DavidCrow wrote: I don't see 70 lines in your code snippet.
Hai Sir,
while posting code.. I removed blank lines from source code.. actually problem is at this line :-
CTextDropTarget* m_pDropTarget =
new CTextDropTarget<CSACAddressListCtrl>
( &CSACAddressListCtrl::OnTextDropTarget);
"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
|
|
|
|
|
this is a compiler error (not a linker one.
it says that it cannot convert a __cdecl function pointer to a __thiscall one...
i don't know why it does happen, but you might try to call a global function thinking it is a class member.
TOXCCT >>> GEII power [toxcct][VisualCalc 2.20][VisualCalc 3.0]
|
|
|
|
|
toxcct wrote: i don't know why it does happen, but you might try to call a global function thinking it is a class member.
Any other solution!
"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
|
|
|
|
|
toxcct wrote: i don't know why it does happen
It is because the prototypes for a normal function (__cdecl) and a member function of a class (__thiscall) are different. For the class function, an extra parameter is passed implicitely which is the this parameter (in order for the function to be able to know which instance of the class called her).
Two solution: change the function to a global function (which is not really appropriate) or change it into a static function. A static function (member of a class) is shared among all instances of that class thus, it doesn't require the implicit this parameter but this also implies that you cannot use non-static members (functions or variables) of the class.
|
|
|
|
|
Remove the static keyword from the OnTextDropTarget function in your CSACAddressListCtrl class.
The constructor of your template class expects a member function of your class (template) thus if this function is static, the prototype is different ( see my other post in response to toxcct).
|
|
|
|
|
Cedric Moonen wrote: Remove the static keyword from the OnTextDropTarget function in your CSACAddressListCtrl class.
Hai Cedric,
I know that way... but i am looking for templatized solution... which i believe not that simple
"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
|
|
|
|
|
a question from ALOK??? , that should be a real question.
"But your mind is very complex, very tricky. It makes simple things complicated. -- that's its work. And for centuries it has been trained for only one thing: to make things so complicated that your life becomes impossible."- Osho
<marquee scrollamount="1" scrolldelay="1" direction="up" height="10" step="1"> --[V]--
|
|
|
|
|
VivekuniQ wrote: a question from ALOK???, that should be a real question
Why! Isn't I am human being... I have problems too..
"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
|
|
|
|
|
|
Basically what Cedric said. For static functions, the declaration of the pointer to the function does include the classname. So if you had
bool (*m_pt2CallbackFunc)(wxCoord x, wxCoord y);
instead of
bool (T::*m_pt2CallbackFunc)(wxCoord x, wxCoord y);
your code would have worked. If you do have the classname prefixed, you can only pass non-static member functions of T.
Regards
Senthil
_____________________________
My Blog | My Articles | WinMacro
|
|
|
|
|
S. Senthil Kumar wrote: Basically what Cedric said. For static functions, the declaration of the pointer to the function does include the classname. So if you had
bool (*m_pt2CallbackFunc)(wxCoord x, wxCoord y);
I know about that method... but I am trying to use templates with function pointer! any suggestion
"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
|
|
|
|
|
I don't get it. Are you saying you want to solve the problem without changing the function pointer signature and the static modifier?
The problem you have is not in any way related to templates, it's because you are passing a wrong function to be assigned to a function pointer. Take this class for example.
class X
{
public:
static void Y(bool x)
{
}
};
Now if the function pointer is typedeffed to typedef void (*Func)(bool x); , you can do Func f = &X::Y; . However, if the function pointer is typedeffed to typedef void (*X::Func)(bool x); , you can't do Func f = &X::Y; . That's because X::Func implies that the first (or last) parameter of the function pointed to by Func is the "this" pointer (thiscall calling convention). Because static functions don't take the "this" pointer as a parameter, the compiler will reject Func f = &X::Y; .
The solution is to remove the static modifier from Y, or, change the typedef by removing the X:: prefix.
Regards
Senthil
_____________________________
My Blog | My Articles | WinMacro
|
|
|
|
|
S. Senthil Kumar wrote: The solution is to remove the static modifier from Y, or, change the typedef by removing the X:: prefix.
Hai Senthil,
Thanks for your time... I have found the solution, my friend soon post the code here !
"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
-- modified at 1:47 Friday 23rd December, 2005
|
|
|
|