The advantage of stdcall is reduced program size, 6 calls to a function, one bit of cleanup code. The convention used with a cdecl function is that the caller cleans the stack on return the stdcall convention is that the called function cleans the stack at function end. The included class uses VB+ASM to slay the “impossible” cdecl call dragon, even allowing ‘C’ style variable length/type parameter lists and the use of VB bas module functions as cdecl callback routines. Best to use HTML version which first needs unzipping, load the file VBCBExp.HTML.ĬDECL DLL functions cannot be called from Visual Basic… or so they’ll tell you… such dll’s use a incompatible technique for parameter stack cleanup.
Included HTML and PDF versions of the Help file for those who do not have Winhelp.exe already installed.
There are some quirks but please remember this was hand written and tested by one bod on his own to suit his own needs at the time. This was not an easy project but it was incredibly interesting and a lot of fun Essentially, it’s an experiment for me to study Code Parsing so there’s a research bent to it all. Release version developed on Win7 which may or may not affect the Project’s References, check the VBP for their paths and correct them as needed.Īcknoweldgements to Rde for Unzip to Memory, thanks Rohan ?
use Option Explicit and Dim variables).Īs mentioned, Unzip32.dll and Zip32.dll are required to get the full functionality available, the Help File has some possible links to get them but they need to be properly installed from Win8 onwards. Unicode and ASM strings do not work lost in conversion from plain text to Rich Text (affects text in quotes and comments).Ĭode Members need to be formally declared for things to function as best they can (e.g.
There is more but too much to mention here, please use the Help File, press F1 the Help File describes most of the forms, why they are there and how to use them. Line Use reports at Code Member, Module and Project levels show a breakdown of the code lines into those that are empty, commented, declarative and those that start with a control statement. Subs, Functions, Properties, Types, Enums, Constants, API Declares…) can drill down into its target code to discover any and all other code members that are used then sort and list them referentially for quick copying into a new project. Also, checks for a ‘.manifest’ and copies this as well if found.Ĭopy Code Member (e.g. If you have Zip32.dll it can also zip the newly copied project. Only unzips VBPs (not a general unzip facility).Ĭopy Project will copy just the development files and any others you specify to a new folder (helpful for de-cluttering a polished project). It can also perform Search, Scan and source code review on the zipped project. Zip Viewer reads zipped VB6 Projects (perhaps from Planet Source Code) and can unzip them (Unzip32.dll required). Source Code Review reports unused variables, parameters and private methods (e.g. Code Member List is for listing all code members in a project.
Code Member Use is for finding where a code member is used.ģ. Source Code View for reading source code.Ģ. The idea behind the main screen is that it has 3 view modes that are selected via the option buttons, bottom left from left to right:ġ.
I use it as a companion tool to developing large VB6 projects because it is informative in a way that the VB6 IDE isn’t (without writing an Add-In). It is a stand-alone executable not an Add-In. (Help File Update) A Program to READ VB6 Source Code from a VB6 Project.