|
Why are you mixing Generic-Text Mappings with a class specialized for elements of type char?
Software_Specialist wrote:
TCHAR message[1000];
Try to change the above with:
char message[1000];
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.
|
|
|
|
|
well i am well confused now. okay pls have a look over this post of mine where i discussed mainly about char variable...
http://www.codeproject.com/script/comments/forums.asp?forumid=1647&select=2073148&df=100&fr=26
Now all of them said me to use TCHAR in place of char or wchar_t..
I have not defined UNICODE...All of them said that TCHAR can handle both UNICODE nad non UNICODE ...So its always better to use TCHAR.
Now i am finished changing every related char to TCHAR and left with 1 error which i asked ...
Well yeh i am rewriting mfc VC++ code to VS2005(MFC)...so am facing promlems...m new to MFC...
Now if ill change message back to char ill again get many errors so that means i have to change everything again....and would end up in never ending error loop....
Any other way out...?
Thanks
|
|
|
|
|
Hi,
Yes, It's nice choice of using generic text mapping function.
So that you can compile both in unicode and non unicode version.
Well C++ stream class has both version,
whar_t version of "ifstream" is "wifstream", "cin" is "wcin", ...
but i don't know the generic mapping for these class.
map these classes yourself for unicode and other version.
Best Regards
Raj
|
|
|
|
|
Software_Specialist wrote: Now all of them said me to use TCHAR in place of char or wchar_t..
I have not defined UNICODE...All of them said that TCHAR can handle both UNICODE nad non UNICODE ...So its always better to use TCHAR.
Well, they're right: actually TCHAR works both for UNICODE and not-UNICODE builds. The same is not true for ifstream that is a class specialized for handling char buffers.
YOu can either follow my suggestion or accept the more elegant solution of Rajkumar_R [^].
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.
|
|
|
|
|
Software_Specialist wrote: I have not defined UNICODE...
This is the default for VS2005. Change ifstream to wifstream as has been mentioned.
"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
|
|
|
|
|
wifstream giving me linking errors....may be i need to change all the ifstream to wifstream....n ofstream to wofstream...
trying to figure this out....
|
|
|
|
|
Software_Specialist wrote: wifstream giving me linking errors...
And those would be?
"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
|
|
|
|
|
ok am getting 4 errors now...
Error 27 error LNK2019: unresolved external symbol "public: void __thiscall hide_in_text::hide_file(class CProgressCtrl *)" (?hide_file@hide_in_text@@QAEXPAVCProgressCtrl@@@Z) referenced in function "public: void __thiscall CABCDlg::OnHide(void)" (?OnHide@CABCDlg@@QAEXXZ) ABCDlg.obj
Error 28 error LNK2019: unresolved external symbol "public: void __thiscall secret_file_class::get_secret_file(void)" (?get_secret_file@secret_file_class@@QAEXXZ) referenced in function "public: void __thiscall CABCDlg::OnHide(void)" (?OnHide@CABCDlg@@QAEXXZ) ABCDlg.obj
Error 29 error LNK2019: unresolved external symbol "public: void __thiscall message_class::convert_to_bits(void)" (?convert_to_bits@message_class@@QAEXXZ) referenced in function "public: void __thiscall CABCDlg::OnHide(void)" (?OnHide@CABCDlg@@QAEXXZ) ABCDlg.obj
Error 30 fatal error LNK1120: 3 unresolved externals N:\ABC\Debug\ABC.exe
|
|
|
|
|
Simply changing ifstream to wifstream caused these linker errors?
"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
|
|
|
|
|
YEH thats true...
Do you think it could be cos i am using TCHAR now. Whereas i guess wifstream supports wchar_t...
Is there any class for TCHAR types...i dont think so..????
|
|
|
|
|
Software_Specialist wrote: Do you think it could be cos i am using TCHAR now.
No, because the preprocessor has resolved those to wchar_t .
"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
|
|
|
|
|
okay
These were my main problems cos of which i first used wchar_t and now TCHAR...
char str[10];
CString Password;
strcpy(str, Password);
In above code i get error saying can not convert parameter 2 from 'CString to const char*'
TCHAR strFilter[1000];
_tcscpy_s(strFilter, "All Files (*.*)|*.*||");
And error i got is none of the 2 overloads could convert all the arguments type.
If i get some other way to deal with this situation... I mean without using wchar_t or TCHAR or L or _T or wcscpy or _tcscpy_s etc etc...then it might work...Dont know really..lez c ..m playing around with it at the moment...
Thanks
|
|
|
|
|
Software_Specialist wrote: _tcscpy_s(strFilter, "All Files (*.*)|*.*||");
Doesn't this require three arguments?
The string literal needs to use _T() or L .
In any case, do you really need to use wchar_t variables?
"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
|
|
|
|
|
# Doesn't this require three arguments?
No it was working ...So i guess its right...anyway i think i hv some problem in one of my function so ill try to modify it a bit....
|
|
|
|
|
Software_Specialist wrote: No it was working ...So i guess its right
So what of your "And error i got is none of the 2 overloads could convert all the arguments type." comment? That does not sound like it is working, or right, to me.
"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
|
|
|
|
|
oh by that i meant to say it was working like this...
<br />
<br />
CString strFilter;<br />
const TCHAR *strSource= _T("All Files (*.*)|*.*||");<br />
_tcscpy_s(strFilter, strSource);<br />
<br />
<br />
So Parameter isn't a problem in that...
|
|
|
|
|
Software_Specialist wrote: CString strFilter;
const TCHAR *strSource= _T("All Files (*.*)|*.*||");
_tcscpy_s(strFilter, strSource);
How is this not generating a compiler error? I would have expected it to be:
_tcscpy_s(strFilter.GetBuffer(128), strSource); In any case, why would you want to use _tcscpy_s() with a CString object? That makes no sense.
"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... my brain is nt workin enough nw....need lil break..
actually it was
TCHAR strFilter[1000];
const TCHAR *strSource=_T("All Files(*.*)|*.*||");
_tcscpy_s(strFilter, strSource);
And this was definately working....i tested it aswell
Rest ill find out after i finish writing these functions ....hoping for the best...
|
|
|
|
|
Software_Specialist wrote: TCHAR strFilter[1000];
const TCHAR *strSource=_T("All Files(*.*)|*.*||");
_tcscpy_s(strFilter, strSource);
So why introduce an unnecessary variable (i.e., strSource ) when
TCHAR strFilter[1000];
_tcscpy_s(strFilter, _T("All Files(*.*)|*.*||")); would have sufficed? Since you are using MFC, why bother with wchar_t variables at all?
"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
|
|
|
|
|
may be u are right...But i tried that way but it was not working ..yeh i didnt included _T at that time...So ill check out if it works without const TCHAR variable...
Thanks for pointing me out...
|
|
|
|
|
i guess i got some cause due to which its giving me these error...ill make those changes n will see if it works or not...
i would post wtever i get in a bit...
|
|
|
|
|
Hi,
These errors or not due to TCHAR or wifstream. Have you included the file with the definition for hide_in_text::hide_file, secret_file_class::get_secret_file, ...
I think the definition for these are missing.
Best Regards
Raj
|
|
|
|
|
Yeh you are right...thats what i am doing now.. declaration was missing...by mistake it got deleted...
I am rewriting those 2 functions now.....ill update whatever i get by the end...
Thanks a lot for all your help...
|
|
|
|
|
Hello all,
I have used AddTimer() function in my application like this
AddTimer(test_interval);
<\pre>
i want to show count down in my application. for example if i have set time as 1 min then it should show 60,59.58.......
how to do this? Because i have seen while debugging the application no where remaining time is shown ....
Can anybody help me in this
thanks in advance
|
|
|
|
|
do you wrote this function ? is your application console or windows ?
|
|
|
|