|
I don't mind using the other code as long it is in SDK
Regards
|
|
|
|
|
I am reading a file and getting the key and values. I am putting the keys and values in the map. When I run the program I get many number of warnings
like...
warningC4786: 'std::_Tree<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const ,
std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::less<std::basic_string<cha
r,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >::_Kfn,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::basi
c_string<char,std::char_traits<char>,std::allocator<char> > > >' : identifier was truncated to '255' characters in the debug information
c:\program files\microsoft visual studio\vc98\include\map(46) : see reference to class template instantiation 'std::_Tree<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::pair<std::basic_string<char,std::char_traits<
char>,std::allocator<char> > const ,std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::basic_string<char,std::char_traits<char>,std::allocator<cha
r> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >::_Kfn,std::less<std::basic_string<char,std::char_traits<char>,std::allocato
r<char> > >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >' being compiled
F:\Main Project\Coding\DLL_logging_Utility\properties.cpp(41) : see reference to class template instantiation 'std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::basic_string<char,std::char_traits<char>,std::a
llocator<char> >,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >' being compiled
THANKS
|
|
|
|
|
Never heard of google, do you ?
See here[^] what you can find with a very basic search.
|
|
|
|
|
i will strongly second Cedric. you already asked too much dumb question without event seeking yourself a bit about how to solve them first.
so in brief, GOOGLE IS YOUR FRIEND. don't feel lazy to ask it !
ok. then, either recompile in release mode to have these disapear, or add this in a header that is defining those template classes:
#pragma warning (disable: 4786)
|
|
|
|
|
Hi ,
I am trying to migrate my application from VC 2003 to VC 2005. My application uses a third party static library(I do not have the source code for that), which was linking fine in VC 2003. Now in VC 2005, its giving me a linker error . Please find the link error below.
*****************************************************************************************************
1>------ Build started: Project: MeasurementLibTestapp2005, Configuration: Debug Win32 ------
1>Linking...
1>Searching libraries
1> Searching Measurement.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\lib\msvcprtd.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\lib\mfc80ud.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\lib\mfcs80ud.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\lib\msvcrtd.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\lib\kernel32.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\user32.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\gdi32.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\msimg32.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\comdlg32.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\winspool.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\advapi32.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\shell32.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\comctl32.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\shlwapi.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\lib\uuid.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\oledlg.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\ole32.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\oleaut32.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\urlmon.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\lib\OLDNAMES.lib:
1> Searching AMIL_VL.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\lib\msvcprt.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\lib\atlsd.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\wininet.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\ws2_32.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\mswsock.lib:
1> Searching Measurement.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\lib\msvcprtd.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\lib\mfc80ud.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\lib\mfcs80ud.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\lib\msvcrtd.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\lib\kernel32.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\user32.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\gdi32.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\msimg32.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\comdlg32.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\winspool.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\advapi32.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\shell32.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\comctl32.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\shlwapi.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\lib\uuid.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\oledlg.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\ole32.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\oleaut32.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\urlmon.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\lib\OLDNAMES.lib:
1> Searching AMIL_VL.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\lib\msvcprt.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\lib\atlsd.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\wininet.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\ws2_32.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\mswsock.lib:
1> Searching Measurement.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\lib\msvcprtd.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\lib\mfc80ud.lib:
1>Finished searching libraries
1> Creating library W:\AMI\src\radworks\radworks\MeasurementLibTestapp2005\Debug\MeasurementLibTestapp2005.lib and object W:\AMI\src\radworks\radworks\MeasurementLibTestapp2005\Debug\MeasurementLibTestapp2005.exp
1>Searching libraries
1> Searching Measurement.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\lib\msvcprtd.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\lib\mfc80ud.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\lib\mfcs80ud.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\lib\msvcrtd.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\lib\kernel32.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\user32.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\gdi32.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\msimg32.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\comdlg32.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\winspool.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\advapi32.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\shell32.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\comctl32.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\shlwapi.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\lib\uuid.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\oledlg.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\ole32.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\oleaut32.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\urlmon.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\lib\OLDNAMES.lib:
1> Searching AMIL_VL.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\lib\msvcprt.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\lib\atlsd.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\wininet.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\ws2_32.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\mswsock.lib:
1>Finished searching libraries
1>Searching libraries
1> Searching Measurement.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\lib\msvcprtd.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\lib\mfc80ud.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\lib\mfcs80ud.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\lib\msvcrtd.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\lib\kernel32.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\user32.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\gdi32.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\msimg32.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\comdlg32.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\winspool.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\advapi32.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\shell32.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\comctl32.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\shlwapi.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\lib\uuid.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\oledlg.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\ole32.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\oleaut32.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\urlmon.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\lib\OLDNAMES.lib:
1> Searching AMIL_VL.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\lib\msvcprt.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\lib\atlsd.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\wininet.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\ws2_32.lib:
1> Searching C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\lib\mswsock.lib:
1>Finished searching libraries
1>Measurement.lib(bitmap.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) class std::basic_istream<char,struct std::char_traits<char> > & __cdecl std::operator>><char,struct std::char_traits<char> >(class std::basic_istream<char,struct std::char_traits<char> > &,unsigned char &)" (__imp_??$?5DU?$char_traits@D@std@@@std@@YAAAV?$basic_istream@DU?$char_traits@D@std@@@0@AAV10@AAE@Z) referenced in function "public: bool __thiscall Bitmap::load_image(class std::basic_ifstream<char,struct std::char_traits<char> > &,bool,short)" (?load_image@Bitmap@@QAE_NAAV?$basic_ifstream@DU?$char_traits@D@std@@@std@@_NF@Z)
1>W:\AMI\src\radworks\radworks\MeasurementLibTestapp2005\Debug\MeasurementLibTestapp2005.exe : fatal error LNK1120: 1 unresolved externals
1>Build log was saved at "file://w:\AMI\src\radworks\radworks\MeasurementLibTestapp2005\Debug\BuildLog.htm"
1>MeasurementLibTestapp2005 - 2 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
*****************************************************************************************************
I have been trying to figure it out for days on end, but in vain.
Has it got anything to do with the project settings??(Like treat wchar_t as built in type, I tried changin this option but it gives me more linker errors.)
Or is it that the static library is trying to link to an earlier deprecated version of STL lib file and VC 2005 app is trying to link to newer one?
If anyone of you can help me with your suggestions for fixing this bu, It would be great help..
Thanks in advance.
Zameer
zameer.kh@gmail.com
|
|
|
|
|
did you correctly added the .lib to your linker settings ?
|
|
|
|
|
Hi, first of all thanks your time.
I have specified the lib correctly in linker settings(Project properties->Linker->Input->Additional dependencies)
Regards,
Zameer
zameer.kh@gmail.com
|
|
|
|
|
So this isn't really Visual C++ but still I hope it's ok I "pollute" the board
I need some help with some paint-related issues.
I'm trying to build a simple image viewer/editor - just for fun.
I have some problems when painting the bitmap though.
If the bitmap is smaller than the client area it works nice; it gets painted in the center of the area as I want.
If the bitmap is bigger than the client area both horizontally and vertically it also works beautifully. I can use the scrollbars in both directions and the image scrolls correctly.
The problem arises when the image is larger than the client area in only one of the two dimensions. In this case when I scroll I only get to see the background; in other words the newly exposed image area doesn't repaint when scrolling.
My pain handler is as follows:
void MyScrolledWindow::OnPaint(wxPaintEvent& event)
{
wxPaintDC dc(this);
if(m_theBitmap && m_theBitmap->Ok())
{
const wxRect rectUpdate = GetUpdateRegion().GetBox();
const wxPoint ptVirt = CalcUnscrolledPosition(rectUpdate.GetTopLeft());
wxMemoryDC mdc;
mdc.SelectObject(*m_theBitmap);
const wxRect rcClient = GetClientSize();
wxPoint upperLeft;
if(rcClient.GetWidth() > m_theBitmap->GetWidth() || rcClient.GetHeight() > m_theBitmap->GetHeight())
{
PaintBackground(dc);
wxCoord w = m_theBitmap->GetWidth();
wxCoord h = m_theBitmap->GetHeight();
int x = wxMax(0, (rcClient.width-w)/2);
int y = wxMax(0, (rcClient.height-h)/2);
upperLeft.x = x;
upperLeft.y = y;
}
else
{
upperLeft = rectUpdate.GetTopLeft();
}
dc.Blit(upperLeft, rectUpdate.GetSize(), &mdc, ptVirt, wxCOPY);
mdc.SelectObject(wxNullBitmap);
}
else
{
PaintBackground(dc);
}
}
I have fought with this problem the whole bloody day without being any nearer a solution so I really hope someone can spot what I'm doing wrong here.
"When you have made evil the means of survival, do not expect men to remain good. Do not expect them to stay moral and lose their lives for the purpose of becoming the fodder of the immoral. Do not expect them to produce, when production is punished and looting rewarded. Do not ask, `Who is destroying the world?' You are."
-Atlas Shrugged, Ayn Rand
|
|
|
|
|
Nevermind, I just solved it.
That's how good you guys are - I can sense the solution just thinking about you
"When you have made evil the means of survival, do not expect men to remain good. Do not expect them to stay moral and lose their lives for the purpose of becoming the fodder of the immoral. Do not expect them to produce, when production is punished and looting rewarded. Do not ask, `Who is destroying the world?' You are."
-Atlas Shrugged, Ayn Rand
|
|
|
|
|
Folks,
(using MSVC 6.0)
Not sure if I got the function names right. I have an situation where I need to determine if a double value is corrupted. I should be able to check this by using _isnan and _finite (Is Not A Number and Is Finite). Both these functions are defined in LIBCMDT.lib but they collide with definitions in a third party library I need and I can't compile.
So, I'm looking for source code for these two functions so avoid the collision problem. I've Googled them both but have not found a solution that seems ok (lot's of unix references).
TIA!
'til next we type...
HAVE FUN!! -- Jesse
|
|
|
|
|
I am pretty sure you can resolve conflict by not using you own functions. But I have those functions handy so I will give it anyway.
typedef __int64 Int64;
inline bool isInfinite(double A)
{
static const Int64 _kInfAsInt = 0x7FF0000000000000;
if ((*(Int64*)&A & 0x7FFFFFFFFFFFFFFF) == _kInfAsInt)
{
return true;
}
else
{
return false;
}
}
inline bool isNan(double A)
{
Int64 _exp = *(Int64*)&A & 0x7FF0000000000000;
Int64 _mantissa = *(Int64*)&A & 0xFFFFFFFFFFFFF;
if(_exp == 0x7FF0000000000000 && _mantissa != 0)
{
return true;
}
else
{
return false;
}
}
-Saurabh
|
|
|
|
|
Saurabh.Garg wrote: I am pretty sure you can resolve conflict by not using you own functions.
Not sure how. Here's the build output:
--------------------Configuration: ConstATE_B - Win32 Debug--------------------
Linking...
LINK : LNK6004: .\ConstATE_B.exe not found or not built by the last incremental link; performing full link
LIBCMTD.lib(ieeemisc.obj) : error LNK2005: __finite already defined in analysis.lib(isnan.obj)
LIBCMTD.lib(ieeemisc.obj) : error LNK2005: __isnan already defined in analysis.lib(isnan.obj)
.\ConstATE_B.exe : fatal error LNK1169: one or more multiply defined symbols found
Error executing link.exe.
Creating browse info file...
ConstATE_B.exe - 3 error(s), 0 warning(s)
Saurabh.Garg wrote: I have those functions handy so I will give it anyway.
Thanks! That should help.
'til next we type...
HAVE FUN!! -- Jesse
|
|
|
|
|
Those error are almost always due to linking different "types" of CRT in different modules. For example your main executable might be using "Multi-threaded Debug DLL" CRT but one of your other statically linked library might be using "Multi-threaded Debug" or may be just single threaded ones.
In this case I think analysis.lib is a static library and it is using a version of CRT different from the application you are linking it with. Make you all CRTs are of same type and those errors will go away.
-Saurabh
|
|
|
|
|
Found another similar function - _fpclass() .
For checking NaN, it returns status such as _FPCLASS_SNAN and _FPCLASS_QNAN . For infinity, _FPCLASS_PINF and _FPCLASS_NINF . Have a look at it. Might be useful.
Regards,
Jijo.
_____________________________________________________
http://weseetips.com[ ^] Visual C++ tips and tricks. Updated daily.
|
|
|
|
|
Jijo raj wrote: Found another similar function - _fpclass().
Aha, a solution that does not depend upon custom functions. That should work fine, thanks!
'til next we type...
HAVE FUN!! -- Jesse
|
|
|
|
|
why a third party lib would redefine them ?
|
|
|
|
|
toxcct wrote: why a third party lib would redefine them ?
Dunno, but here's the build output:
--------------------Configuration: ConstATE_B - Win32 Debug--------------------
Linking...
LIBCMTD.lib(ieeemisc.obj) : error LNK2005: __finite already defined in analysis.lib(isnan.obj)
LIBCMTD.lib(ieeemisc.obj) : error LNK2005: __isnan already defined in analysis.lib(isnan.obj)
.\ConstATE_B.exe : fatal error LNK1169: one or more multiply defined symbols found
Error executing link.exe.
ConstATE_B.exe - 3 error(s), 0 warning(s)
analysis.lib is the third-party library. If I opt to ignore either library I get a lot more errors!
'til next we type...
HAVE FUN!! -- Jesse
|
|
|
|
|
just a guess (stupid guess probably) : do you have to source of that analysis lib ?
|
|
|
|
|
Nope. Only the library object file.
Jijo raj suggested using _fpclass so I'm giving that a go.
'til next we type...
HAVE FUN!! -- Jesse
|
|
|
|
|
How can I block users from printing if they exceed their maximum number of printed pages?
Any ideas?
Thank you.
|
|
|
|
|
Are you creating the device driver, or are you somehow intercepting data sent to the device driver?
"Love people and use things, not love things and use people." - Unknown
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
Hi all,
I am going to start an application and I would like to make it multilanguage. I have been checking different methodes. In MSDN I found an article that explains how to do it through DLLs, I have seen other software that makes it with INI files and a developer in my firm told me about other option. Just for the menus would be enough with ini (or even with 3 different menus chanching them dinamically), but I want to translate messagebox contents, error messages and help files as well.
Have you already made something like that? Which is the best way to do it?
The application is going to have between 150 and 200 error messages, about 40 menu entries and I would like to make it in 3 or 4 languages (more if I get help with the translations).
I am not asking for code, just for opinions, tips or a bit orientation. I am still searching for info and making tiny tests, but if you know a good place with documentation any link will be wellcome.
P.S. it will probably made with VC++ 6.0 (MFC or APIs don't sure yet)
ADDED: Starting languages are going to be european/american "compatible" languages, maybe in the future other languages come. Is it difficult to change from "normal" to unicode? Or better start with Unicode or other supports to other languages?
Thanks
Regards.
--------
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
“The First Rule of Program Optimization: Don't do it. The Second Rule of Program Optimization (for experts only!): Don't do it yet.” - Michael A. Jackson
Rating helpfull answers is nice, but saying thanks can be even nicer.
modified on Wednesday, June 4, 2008 2:00 PM
|
|
|
|
|
Put your application in UNICODE ( google and research a little on the topic) to support most/all scripts.
As for the technical aspect, your best bet is to use a resource DLL, one for each language, that you load when the application starts.
Depending on the size of your application, it could be useful to use a 3rd party "helper" application to manage your translations.
We currently use appTranslator[^] to generate a french and english versions of our software, it works fine; keeps track of the translations during the development of our product (i.e. will show what changed and what needs to be translated)
It also helps with reformatting UI to fit the new language, for example, in french, some terms and words take a different amount of space, so the UI needs to be tweak to fit the text.
We did not test it against non-European languages or scripts (asian, arabic or hebrew, ... ) so I cannot comment on how it works for them.
This signature was proudly tested on animals.
|
|
|
|
|
Thanks for the link and for the advices. I will check the translator you recommend.
Regards.
--------
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
“The First Rule of Program Optimization: Don't do it. The Second Rule of Program Optimization (for experts only!): Don't do it yet.” - Michael A. Jackson
Rating helpfull answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
I have been checking the web you told me, the program is quite amazing. I have found only one problem.
quote:
The Standard Edition contains all the features described here except for the 'Export to Translator Edition' and 'Import from Translator Edition' functions, which are included in the Professional Edition only.
quote:
This demo version is (almost) fully functional (no time limit). However, some text items in the translated files built using this demo are scrambled to prevent production use.
I have taken a look into prices... for a firm is ok, but for me... quite expensive
I guess I will have to do it on the old way
Anyways... thanks for the info.
Regards.
--------
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
“The First Rule of Program Optimization: Don't do it. The Second Rule of Program Optimization (for experts only!): Don't do it yet.” - Michael A. Jackson
Rating helpfull answers is nice, but saying thanks can be even nicer.
|
|
|
|
|