Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

How to develop two versions of the same code in VB6

Posted on 2004-10-06
6
Medium Priority
?
145 Views
Last Modified: 2010-05-02
Experts, advice please

I have a fairly complex VB6 project in use by clients.  I need to have the rolled-out version of the code ready always for bug fixes and minor updates.

For development of and experimenting with new functionality, I want to be able to work on a parallel and wholly independent version of the rolled-out code.

What's the best way to organize the projects so that I can work on, run, and create MSI files for two completely independent versions of the same code, please?

Gordon
0
Comment
Question by:Gordon_Atherley
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
6 Comments
 
LVL 70

Expert Comment

by:Éric Moreau
ID: 12244818
I think that your best bet is to use Visual Source Safe and "pin" your version when you distribute one to client. You can then roll back changes if required (for bug fixes and minor updates).
0
 
LVL 10

Expert Comment

by:anv
ID: 12245401
best would be to create a separate DLL or component for the new functionlaity that u want to add...

reference the functions etc..that create in it when u want to use the new functionality else use the older functions..

0
 
LVL 3

Expert Comment

by:sgayatri
ID: 12246071
I normally maintain versions in different folders on the same drive of my machine.
If it is abc60 running on fields, then I shall be working on abc61.
My folders go like this

abcversions (Mainfolder)
abc5x (child of Mainfolder)
  --abc5x_versions.txt
  -- abc50 (subfolders)
  --abc51
  .
  .
  .
abc6x (child of Mainfolder)
  --abc6x_versions.txt
  -- abc60
  -- abc61
so on

And abc5x_versions.txt contains entire version details of all the subfolders of abc5x

0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Expert Comment

by:morchuboo
ID: 12249941
I use CVS myself, whenever you want to release a version to the user, trunk the code tree in cvs and give that - enabling you to carry on coding the main branch.
CVS is completely free to use in any environment and if you visit:

www.pushok.com/soft_cvs.php

They have a CVS proxy add-in for VB so you can submit your work to the CVS repository whever you go home at night.

Hope it helps
0
 
LVL 6

Accepted Solution

by:
SCDMETA earned 2000 total points
ID: 12256108
We use Source Safe as a code repository, but it does not solve the problem of version conflicts.  The biggest problem we have found is when our project has external dependencies that get updated.  

For example, for version 2 of your project you installed the upgrade to version 2 of the COOLBUTTON control.  If you need to revert to your previous version you also need to revert to version 1 of the COOLBUTTON.  It can be a real mess if you have a lot of dependancies.

Our solution: We dedicate one machine as a "Build Machine".  All "release" compiles are performed on this box.
We use DriveImage to create and restore drive images made from the disk.

To make a cut, I restore my previous build image, update the OS with the latest patches, update my dependancies, copy on the new source, compile the code, and build the install. Once the release version is cut, I create a new drive image with the new changes.  I never overwrite an existing image.

Your development box is free to be used for new development.  If you need to hunt down and fix a bug in a previous version, restore that versions drive image and do the fixing on the build machine.  After cutting the patch, create a new image for the patched version.  Carry the bug fixes over to the development machine and incorporate the changes.



0
 

Author Comment

by:Gordon_Atherley
ID: 12272957
Points to SCDMETA and thanks to all

I have experienced many problems with version conflicts with dependencies. So SCDMETA's solution serves as a warning as well as a solution.

Much appreciated

Gordon
0

Featured Post

Enroll in October's Free Course of the Month

Do you work with and analyze data? Enroll in October's Course of the Month for 7+ hours of SQL training, allowing you to quickly and efficiently store or retrieve data. It's free for Premium Members, Team Accounts, and Qualified Experts!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

When trying to find the cause of a problem in VBA or VB6 it's often valuable to know what procedures were executed prior to the error. You can use the Call Stack for that but it is often inadequate because it may show procedures you aren't intereste…
This article describes how to use a set of graphical playing cards to create a Draw Poker game in Excel or VB6.
Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…
Suggested Courses

604 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question