Loading ...
Sorry, an error occurred while loading the content.

Use WTL under VCExpress

Expand Messages
  • Baryon Lee
    Hi, VCExpress was released in 11/7 We can use it for our wtl programming free. 1,Download and Install VCExpress 2005 from MSDN.
    Message 1 of 6 , Nov 8, 2005
    View Source
    • 0 Attachment
      Hi,

      VCExpress was released in 11/7
      We can use it for our wtl programming free.

      1,Download and Install VCExpress 2005 from MSDN.
      http://msdn.microsoft.com/vstudio/express/visualc/
      2,Download, Install PSDK, and Update VCExpress Setting. Detail:
      http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/default.aspx
      3,Update the Visual C++ directories in the Projects and Solutions
      section in the Options dialog box.Add atl path.
      Include files: C:\Program Files\Microsoft Platform SDK\include\atl

      4, Change atlwin.h and atlbase.h in PSDK\ATL folder

      Change SetChainEntry function at L1725 of atlwin.h,define "int i" at first。
      ---------------------------------------------------------------
      BOOL SetChainEntry(DWORD dwChainID, CMessageMap* pObject, DWORD
      dwMsgMapID = 0)
      {
      int i;
      // first search for an existing entry

      for(i = 0; i < m_aChainEntry.GetSize(); i++)
      ---------------------------------------------------------------

      Change AllocStdCallThunk and FreeStdCallThunk at L287 of atlbase.h,to new macro
      ---------------------------------------------------------------
      /* Comment it
      PVOID __stdcall __AllocStdCallThunk(VOID);
      VOID __stdcall __FreeStdCallThunk(PVOID);

      #define AllocStdCallThunk() __AllocStdCallThunk()
      #define FreeStdCallThunk(p) __FreeStdCallThunk(p)

      #pragma comment(lib, "atlthunk.lib")
      */
      #define AllocStdCallThunk() HeapAlloc(GetProcessHeap(),0,sizeof(_stdcallthunk))
      #define FreeStdCallThunk(p) HeapFree(GetProcessHeap(), 0, p)
      ---------------------------------------------------------------

      3,Download and Install the WTL from http://wtl.sf.net
      4, Download AppWizard for VCExpress from
      http://groups.yahoo.com/group/wtl/files/setup80express.zip
      Unzip and Copy JS file into WTL\AppWiz folder, double click it to
      install WTL Wizard into VCExpress

      Enjoy VCExpress&WTL


      --
      Baryon Lee
      http://www.bbshare.com/
      Share our software to make your life & work more easier.
    • robert_caldecott
      This would make an excellent CodeProject article!
      Message 2 of 6 , Nov 9, 2005
      View Source
      • 0 Attachment
        This would make an excellent CodeProject article!

        --- In wtl@yahoogroups.com, Baryon Lee <baryon@g...> wrote:

        > VCExpress was released in 11/7
        > We can use it for our wtl programming free.
      • massimilianoalberti
        Can I ask a question? Now, the AllocStdCallThunk/FreeStdCallThunk IS quite clear to comprehend... MS forgot to include the new ATL thunking library used to
        Message 3 of 6 , Nov 9, 2005
        View Source
        • 0 Attachment
          Can I ask a question? Now, the AllocStdCallThunk/FreeStdCallThunk IS
          quite clear to comprehend... MS "forgot" to include the new ATL
          thunking library used to bypass the NX protection (why a library one
          could ask, but it's irrelevant)...

          What I can't comprehend is the "int i;" part... I know that in old ATL
          there was a

          for (int i=0) {};
          for (i=0) {}

          but it was fixed in newer ATL and this seems to be a newer ATL (it's
          using the thunking)

          --- bye
        • Bill Arnette
          Oooh, ooh, I know. I was just reading about this in the What s new in VC++ 2005 notes: The VC++ 2005 compiler was changed to be compliant regarding declaring
          Message 4 of 6 , Nov 9, 2005
          View Source
          • 0 Attachment
            Oooh, ooh, I know. I was just reading about this in the What's new in VC++
            2005 notes:

            The VC++ 2005 compiler was changed to be compliant regarding declaring
            variables in for loops.

            Prior to VS2005, the default for the scope of a variable declared in a for
            loop has function scope.

            IN VC++ 2005, the default for the scope of a variable declared in a for loop
            has for loop block scope.

            /Zc:forScope is now on by default. See /Zc:forScope (Force Conformance in
            for Loop Scope) for more information.

            http://msdn2.microsoft.com/en-us/library/h4bcz65t

            http://msdn2.microsoft.com/en-us/library/84wcsx8x



            -----Original Message-----
            From: wtl@yahoogroups.com [mailto:wtl@yahoogroups.com] On Behalf Of
            massimilianoalberti
            Sent: Wednesday, November 09, 2005 11:23 AM
            To: wtl@yahoogroups.com
            Subject: [wtl] Re: Use WTL under VCExpress

            Can I ask a question? Now, the AllocStdCallThunk/FreeStdCallThunk IS
            quite clear to comprehend... MS "forgot" to include the new ATL
            thunking library used to bypass the NX protection (why a library one
            could ask, but it's irrelevant)...

            What I can't comprehend is the "int i;" part... I know that in old ATL
            there was a

            for (int i=0) {};
            for (i=0) {}

            but it was fixed in newer ATL and this seems to be a newer ATL (it's
            using the thunking)

            --- bye







            Yahoo! Groups Links
          • massimilianoalberti
            I ve dl the new PSDK and I ve discovered... They include in the PSDK a patched version of ATL3.0 and NOT ATL7.0/ATL7.1/ATL8.0. They patched it to include the
            Message 5 of 6 , Nov 9, 2005
            View Source
            • 0 Attachment
              I've dl the new PSDK and I've discovered... They include in the PSDK a
              patched version of ATL3.0 and NOT ATL7.0/ATL7.1/ATL8.0. They patched
              it to include the newer ATL thunking method... But then they forgot to
              patch the int conformance. ATL >=7.0 HAD the int i=0 patched.

              --- bye
            • robert_caldecott
              So no free ATL7/8 then? That takes the shine of this a little as I use ATL7 classes extensively... :(
              Message 6 of 6 , Nov 10, 2005
              View Source
              • 0 Attachment
                So no free ATL7/8 then? That takes the shine of this a little as I
                use ATL7 classes extensively... :(

                --- In wtl@yahoogroups.com, "massimilianoalberti"
                <massimilianoalberti@y...> wrote:
                >
                > I've dl the new PSDK and I've discovered... They include in the PSDK a
                > patched version of ATL3.0 and NOT ATL7.0/ATL7.1/ATL8.0.
              Your message has been successfully submitted and would be delivered to recipients shortly.