.hgignore for VB6 project - vb6

I need to pull a VB6 project into mercurial. It is not currently source-controlled. I'm good with mercurial, but less familiar with VB6. Need a good start for an .hgignore.
For VB devs reading that are not familiar with Mercurial, mainly I need to know what file types are authored code or are only changed by user action, and which are generated by the environment or by compilation.

The only user file generated by Visual Studio 6 for VB6 that I know of is the .vbw file.
From Beginners Tutorial To the VB6 IDE:
A .vbw file (VB workspace file) contains information about where you left the position of each window in your project the last time you worked on it in the IDE (this is not an essential file – if it's missing, VB will use defaults to position the windows when you load your project).
That's the only file (extension) that I ignore for Subversion.

Related

Can I create a Visual Studio 2019 project from existing C code?

Here is my current setup:
Some C code (some embedded code) in a folder and subfolders. Organised as I needed and how the embedded editor needed.
If I use Eclipse to create a new C project and place the project file in the root of my sourcecode, then Eclipse will find all folders and files, then index them correctly. I then able to browse the files as a project, functions linked to other files, defines are showing up correctly.
Now, our version control is Visual Studio 2019, and I'm looking for a solution or guide, how to open the same file structure in visual Studio instead of Eclipse. I don't want to open the Eclipse project, I try to drop the use of Eclipse, so I can just use one tool to version control the files and browse the code for editing. I also don't want to compile, debug in visual Studio, I can use the dedicated environment for that. I only want to edit the files like it would be in Eclipse, save the files as the VS editor is much better than the embedded editor. (By the way, the embedded studio IAR and it's editor is horrible, hence why I used Eclipse in the past, but I don't want to open IAR project in VS, just a nice editor needed from VS.)
Any suggestions? Anyone done this successfully?
When you open VS2019 directly (i.e. not via a source or project file) you should be presented with a start page that includes this:
Select "Open a local folder" and it will present the project from the root you select. It will even apply IntelliSense for code completion for symbols within the selected code base. For headers external to the project tree, you can add include search paths to get better navigation, browsing and completion.
A more comprehensive integration with IAR is possible using VisualGDB extension as described here.

How can I make Qt addin VS2010 store paths to Qt versions per system (not user)?

I'm working on a project with Qt using the Visual Studio Addin in VS2010 Professional. Two branches of the project use two different Qt versions (4.8.4 and 5.0.2) so I have both versions of the addin installed (1.1.11 and 1.2.1). I'm also actively developing using at least two computers, both Windows 7, for which I have a networked, roaming user profile. I don't know the specifics of how this user account or network is setup.
Qt is installed in different locations on each system. If I set the correct paths in the Addin on one system (System A), it changes them for the other system (System B) and then complains to me that Qt doesn't exist at that directory when I later log into System B. Is there a way to save the paths to Qt versions on the system, without it affecting the paths on the other system? Or will I have to just deal with changing them each time I change computers?
EDIT:
I from looking through the source for the visual studio add-in, I found that these settings are saved as user registry values. I don't know much about Windows roaming profiles but I'm now assuming that user registry values are copied between computers just as their files are. I don't know if there's any way to move these registry values somewhere else without having to edit and recompile the add-in. I suppose the only other thing I could do is write a startup script to edit these settings upon login.
EDIT: Make sure visual studio on each computer can find the right add-in and the right environment variables on the computer you are using.
http://qt-project.org/wiki/QtVSAddin
In this documentation it talks about where it gets installed to:
"%USERPROFILE%\Documents\Visual Studio 2008\Addins"
So you could manually change the location of the addin, to some local system path.
How to -> Visual Studio Add In Manager
Or you could change the qt path that the Add-in refers to every time you log in, or right before opening visual studio.
Setting a system environment variable from a Windows batch file?
I would use version control to just get the files that you need for the project, and exclude/ignore all the environment specific elements of the project.
One way you could achieve this is:
To install Bazaar. Create a standalone tree of the code on a shared drive or on a location on the harddrive that both users have access to.
Do an initial add of all your source and header files and your qt .pro file.
Checkout or branch the code to user specific folders. In those user specific folders, let Visual Studio create all the user specific, Qt Add-on specific, (etc) files.
Also create a .bzrignore file with files and folders like these listed:
Debug
Release
x64
*.ncb
*.suo
*.user
*.vssscc
*.scc
*.vspscc
*.lnk
*.bak
*.aps
*.pro.user
object_script.*
Makefile
Makefile.Release
Makefile.Debug
Then when you want to try your build for each setup, finish your edits, commit/push your changes on the user that did the edits, and update/pull on the user that wants the changes.
Although the version control may be a little tricky to get started with, it will make project collaboration both scalable, trackable, and very manageable!
And you aren't limited to Bazaar. Check this wiki out if you need ideas.
http://en.wikipedia.org/wiki/Comparison_of_revision_control_software
Another way that you could try to go about doing this, is to have all the source code in some path (either absolute or relatively up from your projects locations), or on the computer, and have the project folders reference those paths in the project folders, but have two separate project folders. This would not be nearly as elegant, but would work.
C:/path/to/vs_proj1
C:/path/to/vs_proj2
C:/path/other/proj/source
And in the properties for vs_proj1, and vs_proj2, in the part about locating source files, have ../other/proj/source to find it relatively, or put the absolute path C:/path/other/proj/source.
Also two other things to be aware of when sharing projects over a drive like this, is that when you are referencing libraries, you may want to store that information in a user specific macro file in Visual Studio and reference the macro in your project settings.
Visual Studio - Where to define custom path macros?
And while I'm here, you may need to #define some things in your program to allow for behavior for one version of Qt that isn't in the other.
So for example, in the source of your program, you might have:
#if QT_VERSION < 0x050000
// some Qt 4.x specific stuff, not in Qt 5
#else
// some Qt 5 specific stuff, not in Qt 4.x
#endif
Hope that helps.

Why is my project unloaded after being successfully converted?

In order to use the latest version of resharper on the much-maligend (by me) project I'm currently maintaining, I copied all the source to a separate folder and opened the project in VS 2010.
It converted successfully, so said the conversion report (after informing me it seemed to be under version control but would be unbound since it was missing needed info for that, which I accepted). Yet, although the conversion was nominally successful, in the Solution explorer, beneath the project name, it says "Project Unloaded"
Now for the nitty-gritty: The project has two related solutions, a "regular" (.exe) and a library (.dll) project; they both display in Solution Explorer, but both say "Project Unloaded."
Now for the strange part: When I realized that I had not even copied over the files from the .dll project, I started over and created two separate folders for them (as they have in the development setup), and copied each one's file into each folder.
But now, when I attempt to open the .exe project (the one which had previously claimed it had been converted successfully) from this new location, by selecting File | Open Project and selecting the .sln file, I get, "\.csdproj' cannot be opened because its project type (.csdproj) is not supported by this version of the application.
To open it, please use a version that supports this type of project.*
The dev environment is VS2003 in a XP Mode virtual machine; I'm trying to open the projects now in VS2010 in Windows 7.
Is there a way I can get this project to open and compile in VS2010, so that I can resharperize it (and carry over some of those fixes, albeit manually, one at a time) to the "real live" version of the project?
The best way would be to create a new project in Visual Studio 2010, like you've done. That will create the project folder and any necessary settings.
Next, copy files from your old project to this new folder. As you copy a file into the new folder, also "Drag-N-Drop" that file into your Visual Studio Solution.
The Visual Studio conversion wizard is good from going from the last version to the next version up, but going from VS2003 to VS2010 could be too big of a jump for it.
If I had to guess, this conversion is bombing because your old project targets the .NET Framework 1.0 and VS2010 doesn't do 1.0.
You will likely have to rebuild your project and fix numerous little bugs due to changes in the Framework, but none should be major.

Side-by-side Visual Studio installations and file associations

I have been working with VS10 for years and yesterday I have installed VS12 side-by-side with the old one. Now I noticed that some file associations are inconsistent. Projects are opened by the version selector, C++ files by VS10 and FSX files with VS12 and more of this mess is around. Everything is a bit random and I wanted to map everything to VS12 while still having VS10 installed as I use XNA and you know that VS12 has no official support for XNA yet.
Searching SO revealed I only have to go to Options > General > Restore File Associations, but it is called now Manage File Associations and the control panel is being opened and lets me choose for every available format of VS which one I want:
I could select the check box to select all available formats but... I dislike this idea, because it could probably break something.
Has anyone good advice whether my doubts are wrong - yet how should I manage the associations without breaking anything?
That is a pretty fundamental limitation in the way file associations work in Windows. It works well when you click a solution or project file. They are associated with a little utility named VSLauncher.exe. Which looks in the file for the format version and thus knows which version of VS to start.
That same trick doesn't work for a source code file, like a .cpp or .cs file. There isn't enough information in the file to reliably pick a VS version. It is just code, most of which will compile properly on any recent VS version. So it is just associated with whatever version of VS you installed last.

Opening vbp Visual Basic Project

I have got some old sources written in Visual Basic. There are *.bas, *.cls, *.frm and *.vbp files. As I understand, vbp is a project file. But I cannot open it with my Visual Studio 2008.
What version of VS should I install to open *.vbp file? Google says it is Visual Studio 6, but I am not sure and I cannot find Visual Studio 6 for downloading. Is there any publicly available free edition of Visual Studio 6 with Visual Basic?
Thanks.
vbp is indeed a VB 5/6 Project File.
VS6/VB5/VB6 are not free, so if you want to build the project you will need to spend $5 on ebay.
The VB5 Control Creation Edition (build COM components only) was the only free version MS released.
Older versions of VS.net included a way to import a VBP and upgrade it to VB.NET, but YMMV (significantly).
Edit; If you just want to look at the source/project structure all the files except .frx are plain ascii.
If you have an MSDN subscription, then VB6 is available as a free download. Otherwise try ebay like Alex suggests, but it usually costs significantly more than $5.
Microsoft recommends users get a 3rd party conversion program called ArtinSoft,
http://msdn.microsoft.com/en-us/ff793478
When opening the vbp file which is the project file, you will most likely have an import wizard show up, which after trying to import the project it will likely tell you there are a bunch of dependencies vb6 used to use which .net does not and will error out. You need to have vb5/6 installed or at least the dependency files installed in order to proceed with the import. You can view source code from the plain ascii text files of the .frM files.
To get a working copy of visual basic follow the following steps.
after much research I found out that the original Vb6 was distributed as a disk set, all CD's are just ISO files built up of folders and files. You can get a copy of an original ISO here. There is a google drive version floating around on the web of the ISO but personally that just seems really sketchy to me.
https://winworldpc.com/product/microsoft-visual-bas/60
in order to use the ISO you will need to unzip the ISO with WinRar, so download a copy of WinRar (its a widely used file archiver tool)
follow the install instructions here https://youtu.be/LXvd8IRw_ZI
"How to Install Visual Basic 6.0 on Windows 7/8/8.1/10" by "Matthew Marcelo"
** be sure to run the installation as administrator ** .\Micrsosoft Visual Basic 6.0\extracted\SETUP.EXE
after getting everything installed I realized I needed a copy of the MSDN library (version October 1999) which is the developer documentation for using VB6, that is found here https://winworldpc.com/product/msdn/october-1999
--
if you are like me and had to get VB6 working because of a very old legacy project and you had no clue what .OCX (controller) files were, and you got a bunch of error messages when you open the main project .VBP file, when you get ahold of the files and install them, installing them as admin usually does the trick by making a batch file, or running an administrator powershell/cmd window
regsvr32.exe \path\to\file.ocx
you need Visual Basic, not Visual Studio to open these files. or you can open it using a normal text editor like sublime text file separately. but if you want to open it like a project then you should use Microsoft Visual Basic 6.0 / 5.0 . There is a portable version too.
If you still want to open .vbp file using visual studio try to use VB tools for Visual Studio. I think it will help you.

Resources