X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c140b7e7c9aabb61ab5e6e017cfb768c05373502..9c112555198f51fcec71106530cddba95a17f3dc:/docs/html/faqmsw.htm diff --git a/docs/html/faqmsw.htm b/docs/html/faqmsw.htm index aa0dcbe3cb..b3c333d71f 100644 --- a/docs/html/faqmsw.htm +++ b/docs/html/faqmsw.htm @@ -1,4 +1,3 @@ - @@ -45,7 +44,10 @@ See also top-level FAQ page.
  • Why are menu hotkeys or shortcuts not working in my application?
  • Why can I not write to the HKLM part of the registry with wxRegConfig?
  • Is MS Active Accessibility supported?
  • -
  • Why does Visual C++ complain about corrupted project files{/a>
  • +
  • Why does Visual C++ complain about corrupted project files?
  • +
  • Visual C++ gives errors about multiply defined symbols, what can I do?
  • +
  • Why do I get compilation errors when using wxWidgets with DirectShow?
  • +
  • How do I handle Windows messages in my wxWidgets program?

  • @@ -76,7 +78,7 @@ without ever needing a copy of Microsoft Windows. See the Technical Note on the

    What about Windows CE?

    -This port is largely complete. For further information, see the wxEmbedded page.

    +This port is largely complete. For further information, see the wxEmbedded page.

    What do I need to do for Windows XP?

    @@ -224,7 +226,7 @@ you need to configure wxWidgets to compile without debugging information: see docs/msw/install.txt for details. You may find that using configure instead of makefile.g95 is easier, particularly since you can maintain debug and release versions of the library simultaneously, in different directories. -Also, run 'strip' after linking to remove all traces of debug info. +Also, run 'strip' after linking to remove all traces of debug info.

    Is wxWidgets compatible with MFC?

    @@ -244,7 +246,7 @@ lib/mswd

    or if building the static Release library, lib/msw.

    -See also the wxWiki Contents +See also the wxWiki Contents for more information.

    @@ -320,6 +322,10 @@ Code' (and no others). This will then work.

    How are the wxWidgets makefiles edited under Windows?

    +wxWidgets 2.5.x and above uses Bakefile to generate makefiles, which +is described in technical note 16 under docs/tech in your distribution. +For 2.4.x, the following explanation applies.

    + As of wxWidgets 2.1, there is a new system written by Vadim Zeitlin, that generates the makefiles from templates using tmake.

    @@ -335,7 +341,7 @@ example) and regenerate the makefile using tmake.

    tmake can be found at www.troll.no/freebies/tmake.html. -It's a Perl5 program and so it needs Perl (doh). There is a binary for +It's a Perl5 program and so it needs Perl (doh). There is a binary for Windows (available from the same page), but I haven't used it, so I don't know if it works as flawlessly as "perl tmake" does (note for people knowing Perl: don't try to run tmake with -w, it won't @@ -344,7 +350,7 @@ just go to distrib/msw/tmake and type

    tmake -t b32 wxwin.pro -o ../../src/msw/makefile.b32

    -The makefiles are untested - I don't have any of Borland, Watcom or +The makefiles are untested - I don't have any of Borland, Watcom or Symantec and I don't have enough diskspace to recompile even with VC6 using makefiles. The new makefiles are as close as possible to the old ones, but not closer: in fact, there has been many strange things @@ -451,7 +457,7 @@ First, you can use wxRegKey directly, for example: regKey.SetName(idName); { - wxLogNull dummy; + wxLogNull dummy; if (!regKey.Create()) { idName = wxT("HKEY_CURRENT_USER\\SOFTWARE\\My Company\\My Product\\Stuff\\"); @@ -491,13 +497,13 @@ bool myGlobalConfig::Write (const wxString& key, const wxString& value)

    Is MS Active Accessibility supported?

    -This is being worked on. Please see this page +This is being worked on. Please see this page for the current status.

    -

    Why does Visual C++ complain about corrupted project files{/a>

    +

    Why does Visual C++ complain about corrupted project files?

    If you have downloaded the wxWidgets sources from the cvs using a Unix cvs client or downloaded a daily snapshot in .tar.gz format, it is likely @@ -510,6 +516,59 @@ Of course, another possibility is to always use only the Windows cvs client and to avoid this problem completely.

    +

    Visual C++ gives errors about multiply defined symbols, what can I do?

    + +If you get errors like this + +
    +MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _xxxxxx already defined in LIBCD.lib(yyyyy.obj)
    +
    + +when linking your project, this means that you used different versions of CRT +(C Run-Time) library for wxWindows (or possibly another library) and the main +project. Visual C++ provides static or dynamic and multithread safe or not +versions of CRT for each of debug and release builds, for a total of 8 +libraries. You can choose among them by going to the "Code generation" +page/subitem of the "C++" tab/item in the project proprieties dialog in VC6/7. +

    +To avoid problems, you must use the same one for all +components of your project. wxWindows uses multithread safe DLL version of the +CRT which is a good choice but may be problematic when distributing your +applications if you don't include the CRT DLL in your installation -- in this +case you may decide to switch to using a static CRT version. If you build with +wxUSE_THREADS == 0 you may also use the non MT-safe version as it is +slightly smaller and faster. +

    +But the most important thing is to use the same CRT setting for +all components of your project. + +

    Why do I get compilation erros when using wxWidgets with DirectShow?

    + +If you get errors when including Microsoft DirectShow or DirectDraw headers, +the following message from Peter Whaite could help: +
    +> This causes compilation errors within DirectShow: +> +> wxutil.h(125) : error C2065: 'EXECUTE_ASSERT' : undeclared identifier +> amfilter.h(1099) : error C2065: 'ASSERT' : undeclared identifier + +The reason for this is that __WXDEBUG__ is also used by the DXSDK (9.0 +in my case) to '#pragma once' the contents of +DXSDK/Samples/C++/DirectShow/BaseClasses/wxdebug.h. So if __WXDEBUG__ +is defined, then wxdebug.h doesn't get included, and the assert macros +don't get defined. You have to #undef __WXDEBUG__ before including the +directshow baseclass's <streams.h>. +
    + + +

    How do I handle Windows messages in my wxWidgets program?

    + +To handle a Windows message you need to override a virtual +MSWWindowProc() method in a wxWindow-derived class. You should then +test if nMsg parameter is the message you need to process and perform +the necessary action if it is or call the base class method otherwise. + +