Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Upgrading an old VC application

Upgrading an old VC application

Scheduled Pinned Locked Moved The Lounge
c++csharptoolsquestiondiscussion
27 Posts 14 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • B basementman

    Disables warnings for "non-secure" functions such as strcpy, strcat, sprintf, etc. that have been "deprecated" due to the MS secure initiative, pushing people to strcat_s that is length validated to help prevent buffer overflows. These didn't exist in VC6.

    onwards and upwards...

    D Offline
    D Offline
    Dan Neely
    wrote on last edited by
    #21

    Assuming we end up on contract for anything beyond a minimal make it run on w7 update I suspect making those substitutions will be an IA requirement we'll be expected to meet.

    Did you ever see history portrayed as an old man with a wise brow and pulseless heart, waging all things in the balance of reason? Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful? --Zachris Topelius Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies. -- Sarah Hoyt

    1 Reply Last reply
    0
    • D Dan Neely

      Jump directly to the latest? I was thinking in terms of walking up my collection of installed versions of VS incrementally upgrading as I go: 03, 08, 10; newer'd depend on either customer requests or getting past team mates balking at 12 as a 1.0 version and not wanting to install 13 because without a need for it keeping R#er while avoiding a fight with bean counters (not relevant for C++) and just not wanting to install another version that will then become part of the stack we need to keep installed forever more due to legacy apps we're on call for but otherwise have no update budget/mandate (this one really bugs me too). :sigh: Edit: A big part of why I'm thinking incrementally is that, assuming it's a VC6 (or prior) project and that none of my packratty coworkers have an MSDN cd with that version on it, initially targetting 2003 would be the quickest path to a working build.

      Did you ever see history portrayed as an old man with a wise brow and pulseless heart, waging all things in the balance of reason? Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful? --Zachris Topelius Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies. -- Sarah Hoyt

      P Offline
      P Offline
      patbob
      wrote on last edited by
      #22

      Dan Neely wrote:

      Jump directly to the latest? I was thinking in terms of walking up my collection of installed versions of VS incrementally upgrading as I go: 03, 08, 10;

      Each version will introduce its own set of things that needs to be fixed. Having worked on a VC++ project that we took from 6.0 through to 2008 through the years, my gut feel is that your way will create extra work. The source isn't the only thing that needs updating, sometimes the project files do too. The only benefit I can see of doing an incremental upgrade is if you also install the docs and can get some value out of their upgrade guides. Those have had helpful hints like the #define mentioned. I think sometimes the older info gets lost in newer rewrites.

      We can program with only 1's, but if all you've got are zeros, you've got nothing.

      1 Reply Last reply
      0
      • D Dan Neely

        Jump directly to the latest? I was thinking in terms of walking up my collection of installed versions of VS incrementally upgrading as I go: 03, 08, 10; newer'd depend on either customer requests or getting past team mates balking at 12 as a 1.0 version and not wanting to install 13 because without a need for it keeping R#er while avoiding a fight with bean counters (not relevant for C++) and just not wanting to install another version that will then become part of the stack we need to keep installed forever more due to legacy apps we're on call for but otherwise have no update budget/mandate (this one really bugs me too). :sigh: Edit: A big part of why I'm thinking incrementally is that, assuming it's a VC6 (or prior) project and that none of my packratty coworkers have an MSDN cd with that version on it, initially targetting 2003 would be the quickest path to a working build.

        Did you ever see history portrayed as an old man with a wise brow and pulseless heart, waging all things in the balance of reason? Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful? --Zachris Topelius Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies. -- Sarah Hoyt

        S Offline
        S Offline
        Stuart Dootson
        wrote on last edited by
        #23

        I'd be tempted to go straight to your ultimate target version (whether that be VS2010, 2012 or 2013) with a **COPY** of the solution. If you find any really difficult problems, then you could try going via intermediate versions in the hope that the errors along the way will be lesser.

        Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p CodeProject MVP for 2010 - who'd'a thunk it!

        D 1 Reply Last reply
        0
        • S Stuart Dootson

          I'd be tempted to go straight to your ultimate target version (whether that be VS2010, 2012 or 2013) with a **COPY** of the solution. If you find any really difficult problems, then you could try going via intermediate versions in the hope that the errors along the way will be lesser.

          Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p CodeProject MVP for 2010 - who'd'a thunk it!

          D Offline
          D Offline
          Dan Neely
          wrote on last edited by
          #24

          Source control means having arbitrarily many copies. :cool:

          Did you ever see history portrayed as an old man with a wise brow and pulseless heart, waging all things in the balance of reason? Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful? --Zachris Topelius Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies. -- Sarah Hoyt

          1 Reply Last reply
          0
          • R Ravi Bhavnani

            One thing that's prevented me from using anything more modern than VC6 for this[^] app is my reliance on CString, whose size increased over the years.  Rather than fight this, I decided to convert the app to .NET in its next incarnation. Also see this[^] MSDN link for additional data points. /ravi

            My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com

            M Offline
            M Offline
            Member 4608898
            wrote on last edited by
            #25

            If it was passed by reference instead of by value, the code works seamlessly. What I find is a lot of the VC6 code normally pass CStrings by value.

            R 1 Reply Last reply
            0
            • M Member 4608898

              If it was passed by reference instead of by value, the code works seamlessly. What I find is a lot of the VC6 code normally pass CStrings by value.

              R Offline
              R Offline
              Ravi Bhavnani
              wrote on last edited by
              #26

              I was referring to serialization of CString breaking between VC6 and VS2005+. /ravi

              My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com

              1 Reply Last reply
              0
              • D Dan Neely

                Mike Mullikin wrote:

                If it comes to pass you should consider an article for CP.

                I suspect work related NDAs would scuttle any hope of a useful article unless I scoured the internet to find someone elses VC6 legacy project I could use as an example in a writeup. :sigh:

                Did you ever see history portrayed as an old man with a wise brow and pulseless heart, waging all things in the balance of reason? Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful? --Zachris Topelius Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies. -- Sarah Hoyt

                F Offline
                F Offline
                fatman45
                wrote on last edited by
                #27

                If it's VC6 then it is unlikely that it is a 16-bit app. VC4 on is 32-bit. As pointed out by others, your biggest problem is likely to be 3rd party libs.

                Da Bomb

                1 Reply Last reply
                0
                Reply
                • Reply as topic
                Log in to reply
                • Oldest to Newest
                • Newest to Oldest
                • Most Votes


                • Login

                • Don't have an account? Register

                • Login or register to search.
                • First post
                  Last post
                0
                • Categories
                • Recent
                • Tags
                • Popular
                • World
                • Users
                • Groups