VBP file tags value - vb6

I have open VBP file in notepad and there are differet tags over there like CompatibleMode, Command32, HelpContextID, ServerSupportFiles, CompilationType, OptimizationType, FavorPentiumPro(tm), CodeViewDebugInfo, StartMode.
I wanted to know the meaning of this different tags. Please revert if you have any idea. I found on google but didnt found anything.

All these tags are referring to your project properties.
When opening your project in VB6 goto the "Project" menu and click on "projectname Properties...". From there on the VB6 help can tell you everything you want to know.
For example
Version Compatibility
Allows you to set the level of version compatibility
No Compatibility — Compatibility not enforced.
Project Compatibility — If checked, the Location box is active and
allows you to search for the file with which this project is to be
compatible. If cleared, the Location box is not available. For all
ActiveX project types, Project Compatibility is checked by default.
Binary Compatibility — Useful for maintaining compatibility among
projects that have been compiled using your component.

Related

How to Display structure members in "Variables" window (MSVC 2019) [UPDATED]

I am working on a app built with MSVC 2019. In the past, I was able to view structure members in the "Variables" window while debugging (by clicking on the '+' sign). This week that stopped working: the Variables window just shows an address in hex). I've not (knowingly) changed any build settings but the problem persists. No changes to source code.
Any ideas about what I'm doing wrong?
I've tried:
Delete Debug subdir & rebuild all
Checked: Settings->C/C->General->Debug Information Format: Using /Zi, but tried all other options.
Checked: Settings->C/C++->Enable Browse Information: YES
Checked: Varibles: Hexidecimal display NOT checked.
Details:
Include file dir specified by Settings->C/C++->Preprocessor->Additional include directories:
Compiled with MSVC v2019
Dell Optiplex Win10/64
UPDATE 03/25/2021
So far, this problem only happens when I build an SSL/TLS app. I've tried several SSL packages with same result (GitHub OpenSSL, FireDaemon, Shining Light, etc.). I include ssl.h from each package.
Members of structures defined within my app are shown correctly
You should uncheck Hexadecimal Display option under Locals Window.
I found the problem. According to
https://wiki.openssl.org/index.php/OpenSSL_1.1.0_Changes, many data structures have been made 'opaque' in v1.1.0 and structure members are no longer accessible.
Great day for code purists but it makes debugging hard for the rest of us poor souls.
IMHO, It does not appear to be possible to work around this.

How to manually set the GUID for a VB6 Activex control

Recently we have an issue where we have to modify an ActiveX control which is developed long back. Problem is, we lost the source code, but we found another version of the same control with a different GUID.
The requirement is to keep the old GUID as other products are using the same control. So we want to replace the new control GUID with old one.
Is it possible? If so please let me know how can I change the GUID of the Active X control in VB6.
You don't manually put the interface & class GUIDs into your application, but in your project settings you need to enable "Binary Compatibility" pointing to a DLL that has the interface & class GUIDs that you want to have your project use.
From the Visual Basic 6.0 Project Documentation Component Tools Guide, "Providing a Reference Point for Binary Version Compatibility":
To specify a reference version of the component type library
Open the project.
From the Project menu, choose Project Properties to open the Project Properties dialog box, and select the Component tab.
Click Binary Compatibility to lock down the class IDs in the project.
Note As explained in "Project Compatibility: Avoiding MISSING References," the Project Compatibility setting actually has nothing to do with the Version Compatibility feature.
Update the box at the bottom of the Version Compatibility frame with the full path and name of the most recent version of your component.
Whenever you make a new executable from your component project, Visual Basic compares the new interfaces of your classes to the ones described in the file you have specified. Visual Basic updates the type library version number according to the level of compatibility between the interfaces.
For more information, be sure to read through all the sections in the "Version Compatibility in ActiveX Components" portion of the documentation.

ActiveX Control Versioning VB 6.0

I have OCX created using VB 6.0. And this OCX has custom activex controls in it. The custom controls are used in my application. I have installed my application in a system in which I have registered mu first application.
My second application needs the custom controls which are available in my OCX , few enhancements in previous controls and new custom controls.
For this purpose I have created new OCX with previous controls and new control added. In this case in future if I need different controls I need to create more OCX files. This is difficult to maintain different OCX.
If I add new functionalities in the existing OCX and register in the system, already existing application couldn't able to find the previous version of activex control.
How to add new features in already existing ocx with out affecting the applications already using these controls?
Thanks
Publishing a component with "Binary Compatibility" allows this (with several caveats involving what you can safely change) by examining the existing version of the activex control and then re-using IDs from the type library in the new version at compile time.
See here for an explanation: http://wynport.wynsys.net/Visual_Basic_Binary_Compatibility.htm which includes a list of what incremental changes you can make.
When you compile your project, Visual Basic only creates new Class and Interface IDs when necessary. It preserves the class and interface IDs from the previous version(s) so that programs compiled using an earlier version will continue to work. If you are making a change that will result in an incompatible version, Visual Basic will warn you. If you want to maintain compatibility with older, released versions of an ActiveX component.
Ref: http://support.microsoft.com/kb/161137
To make your control binary compatible,
Open the properties dialog of project
Select Component tab
Select Binary Compatibility radio button
Browse your existing control which you have compiled
Click OK button and recompile your project

Hide .svn folders in a VS2010 IronPython project

I'm working on an IronPython project on VS2010 and I've notice that for the python project (which is setup as a Console project, but really just contains a number of scripts that are hosted in a C# app), everything that is in the project directory will show up in the VS solution explorer under that project. So, for example, the .svn folder shows up. Which I obviously don't want or need to be there.
Is there any way to tell it to hide specific items? I sure can't find one.
Currently we have a directory based project system - which as you have seen includes all of the files in the project dir. We were planning on having an exclude option but the feedback we've been hearing so far is that we should move to a normal VS project model where you need to explicitly add the files. The next CTP release (which should be out in a week or so) will change to a normal project model.
There does still seem to be some interest in the directory based model so we may bring it back via an option in a future version.
You should be able to just right click the folder, choose "Exclude from Project"
Then, make sure "Show all files" is NOT on at the top, by the solution.

Where does Xcode's open quickly search?

I'm not sure how to get it to index my project files.
Open Quickly should be searching any open projects. There used to be a Preference for paths but I believe it was removed with 3.1?!?
Is it possible that said header file is not on your project's include path? If you added your source folders to your project using the "Create Folder References" option, or if you are using an external build system, then Xcode's indexer will not be aware of that file.
If you had added folders with the "Create Folder References" option, then there would be some folder icons in your project's file list that are yellow instead of the usual blue. If this is the case, you might try removing those folder references and re-adding the folders with the "Recursively create groups" option.
If you are using an external build system (which I suspect is not the case, since this is an iPhone question), then you have to explicitly tell Xcode about your project's include path by setting the HEADER_SEARCH_PATHS option in the Build panel of your project's Info window.
Another possibility is that the file you are trying to Open Quickly might be in a Framework that you have not added to your project. If that is the case, adding the framework will fix it.
Since I installed 10.6, I have been able to use the open quickly dialog to open anything in my user search path.
I am not sure if this is because of Snow Leopard, Xcode 3.2, the re-install, etc…
Check after you upgrade.

Resources