BACKGROUND INFO
--HRESULT AnsiToUnicode(LPCSTR pszA, LPOLESTR* ppszW) <-- Function
definition
--private:
CString m_saveAsFilename; <-- Private variable definition inside class
--CString fullpath = GetDocument()->GetPathName();
CODE IN QUESTION
-- AnsiToUnicode(m_saveAsFilename,&m_pwBuffer);
-- AnsiToUnicode(fullpath,&m_pwBuffer);
ERROR MESSAGED FOR BOTH FUNCTION CALLS
error C2664: 'AnsiToUnicode' : cannot convert parameter 1 from 'class
CString' to 'const char *'
No user-defined-conversion operator available that can perform this
conversion, or the operator cannot be called
Fausto
If so, CString will contain Unicode strings and will only be able to
automatically convert to w_char*.
--
Jonathan Wood
SoftCircuits
http://www.softcircuits.com
Available for consulting: http://www.softcircuits.com/jwood/resume.htm
"Fausto Lopez" <fuzzl...@earthlink.net> wrote in message
news:zwVIc.2044$Qu5....@newsread2.news.pas.earthlink.net...
What this error message is saying is that the compiler can't convert a
CString object to a const char*. You will need to double type-cast the
CString object to get it into a const char* format.
Example:
(LPCSTR)(LPCTSTR)m_saveAsFilename
(LPCSTR)(LPCTSTR)fullpath
Also note:
If you are compiling the project with _UNICODE defined, CString
automatically uses unicode as the default (could be why you are receiving
this compiler error message). This could cause problems with your
type-casting if you have it so. If you don't have _UNICODE defined, the
double type-cast should work ok for you.
Relvinian
"Fausto Lopez" <fuzzl...@earthlink.net> wrote in message
news:zwVIc.2044$Qu5....@newsread2.news.pas.earthlink.net...
"Relvinian" <m...@msn.com> wrote in message
news:zLGdnYPtEKJ...@comcast.com...
But if you know what the data is and are always aware, you'll be ok. Of
course, the better solution is finding out why!
But if you *always* compile for ANSI systems and you are using a CString
object and trying to pass data to a const char*, type casting is just fine.
But the question remains, why are you using CString or trying to pass data
to a const char* function instead of a (possible) w_char* function?
Relvinian
"Alexander Grigoriev" <al...@earthlink.net> wrote in message
news:e3VQPrVa...@TK2MSFTNGP10.phx.gbl...
Bill
"Relvinian" <m...@msn.com> wrote in message
news:zLGdnYPtEKJ...@comcast.com...
And you should be carefull that the CString is ANSI.
And with Dev.Studio 6 or older the only way to do this is
to have a non-unicode application.
--
Mihai
-------------------------
Replace _year_ with _ to get the real email
"Relvinian" <m...@msn.com> wrote in message
news:d6GdnYhdBq7...@comcast.com...