]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/html/faqmsw.htm
added test for env var expansion
[wxWidgets.git] / docs / html / faqmsw.htm
index cf82acb1378793ba9ea1d101a469f879728d1502..2c56fedb31b72e7a1cb736128e8f6fd312f2fe7b 100644 (file)
@@ -1,4 +1,3 @@
-
 <HTML>
 
 <HEAD>
 <HTML>
 
 <HEAD>
@@ -35,6 +34,7 @@ See also <a href="faq.htm">top-level FAQ page</a>.
 <li><a href="#dll">Can you compile wxWindows 2 as a DLL?</a></li>
 <li><a href="#exesize">How can I reduce executable size?</a></li>
 <li><a href="#mfc">Is wxWindows compatible with MFC?</a></li>
 <li><a href="#dll">Can you compile wxWindows 2 as a DLL?</a></li>
 <li><a href="#exesize">How can I reduce executable size?</a></li>
 <li><a href="#mfc">Is wxWindows compatible with MFC?</a></li>
+<li><a href="#asuffix">Why do I get errors about FooBarA when I only use FooBar in my program?</a></li>
 <li><a href="#newerrors">Why my code fails to compile with strange errors about new operator?</a></li>
 <li><a href="#mfcport">How do I port MFC applications to wxWindows?</a></li>
 <li><a href="#crash">Why do I sometimes get bizarre crash problems using VC++ 5/6?</a></li>
 <li><a href="#newerrors">Why my code fails to compile with strange errors about new operator?</a></li>
 <li><a href="#mfcport">How do I port MFC applications to wxWindows?</a></li>
 <li><a href="#crash">Why do I sometimes get bizarre crash problems using VC++ 5/6?</a></li>
@@ -216,6 +216,25 @@ There is a sample which demonstrates MFC and wxWindows code co-existing in the s
 application. However, don&#39;t expect to be able to enable wxWindows windows with OLE-2
 functionality using MFC.<P>
 
 application. However, don&#39;t expect to be able to enable wxWindows windows with OLE-2
 functionality using MFC.<P>
 
+<H3><a name="asuffix">Why do I get errors about FooBarA when I only use FooBar in my program?</H3>
+
+If you get errors like
+<p>
+<center>
+<tt>no matching function for call to &#39;wxDC::DrawTextA(const char[5], int,
+int)&#39;</tt>
+</center>
+<p>
+or similar ones for the other functions, i.e. the compiler error messages
+mention the function with the <tt>&#39;A&#39;</tt> suffix while you didn&#39;t
+use it in your code, the explanation is that you had included
+<tt>&#60;windows.h&#062;</tt> header which redefines many symbols to have such
+suffix (or <tt>&#39;W&#39;</tt> in the Unicode builds).
+
+<p>
+The fix is to either not include <tt>&#60;windows.h&#62;</tt> at all or include
+<tt>"wx/msw/winundef.h"</tt> immediately after it.
+
 <H3><a name="newerrors">Why my code fails to compile with strange errors about new operator?</a></H3>
 
 The most common cause of this problem is the memory debugging settings in
 <H3><a name="newerrors">Why my code fails to compile with strange errors about new operator?</a></H3>
 
 The most common cause of this problem is the memory debugging settings in
@@ -305,7 +324,7 @@ The templates are described in tmake ref manual (1-2 pages of text)
 and are quite simple. They do contain some Perl code, but my Perl is
 primitive (very C like) so it should be possible for anybody to make
 trivial modifications to it (I hope that only trivial modifications
 and are quite simple. They do contain some Perl code, but my Perl is
 primitive (very C like) so it should be possible for anybody to make
 trivial modifications to it (I hope that only trivial modifications
-will be needed). I&#39;ve tagged the old makefiles as MAKEFILES_WITHOUT_TMAKE
+will be needed). I&#39;ve tagged the ol makefiles as MAKEFILES_WITHOUT_TMAKE
 in the cvs, so you can always retrieve them and compare the new ones,
 this will make it easier to solve the problems you might have.<P>
 
 in the cvs, so you can always retrieve them and compare the new ones,
 this will make it easier to solve the problems you might have.<P>
 
@@ -395,7 +414,7 @@ First, you can use wxRegKey directly, for example:
     regKey.SetName(idName);
 
     {
     regKey.SetName(idName);
 
     {
-        wxLogNull dummy; 
+        wxLogNull dummy;  
         if (!regKey.Create())
         {
             idName = wxT("HKEY_CURRENT_USER\\SOFTWARE\\My Company\\My Product\\Stuff\\");
         if (!regKey.Create())
         {
             idName = wxT("HKEY_CURRENT_USER\\SOFTWARE\\My Company\\My Product\\Stuff\\");