JonRipley.com

(formerly Stryker Software)
 
 
 
   
 

BBC BASIC API Viewer Plug In

APIViewer Plug In for BBC BASIC for Windows (synBB4W) v1.30 ( Download )

Introduction

APIViewer makes programming with the Windows API much easier by providing a searchable database of all constants, functions, enumerations and data types. These declarations can be exported for use with a number of languages. The BBC BASIC for Windows plug in enables APIViewer to generate BBC BASIC code which you can copy and paste into your own programs.

The API Viewer database was created from the Windows XP header files and contains information about approximately 6100 functions, 500 types and 52000 constants - more than the official Microsoft API database. Each of these is converted into BBC BASIC code by the synBB4W plug in ready to be copied and pasted into your programs.

Installation

Download and install APIViewer from the APIViewer web site. It is recommended that you download and install the data update. Once APIViewer is installed, copy the synBB4W.dll and synBB4W.xml files from the synBB4W archive into the APIViewer plugins directory. Replace any existing copies of these files.

Once you start APIViewer, select the File>Options... menu item and select BBC BASIC for Windows from the Syntax list. Click Ignore when you will receive a warning that the plug in is not certified. Attempts to contact the author of APIViewer to receive certification for the plug in have failed.

Usage Notes

To use functions in DLLs which are not loaded into memory when BBC BASIC for Windows is run you will need the LoadDLL library or an equivalent to the FN_LoadDLL routine to load the required DLL and make the call available. To install the library, copy the LoadDLL.bbc file into the LIB directory inside BBC BASIC for Windows.

Version History

Version 1.30 (05 July 2006) :

  • General
    • Added 'Auto Format' option for declarations and types
    • Added preview code
    • Tolerates database errors
    • Improved type naming convention
  • Constants
    • Fixed (NOT clauses
    • Fixed names containing 'As Long' (WinCE)
    • Split long constants over multiple lines
  • Declarations
    • Now generates all declarations
    • Changed var As Boolean to var% in declarations
    • Changed (^to$) to pstr (suggested by RTR)
    • Functions explicitly state when return value is pointer to structure
    • Fixed function declarations where final parameter is a structure
    • Fixed unquoted aliases
    • Fixed double comments at end of functions
    • Fixed functions which return types
    • Fixed SYS return types bug
    • String type detection is a significantly more accurate
    • Declarations correct Optional var = expr (SetWindowTheme)
  • Enumerations
    • Enumeration formatting improved
    • Removed excess terminators
  • Types
    • Now generates all structures
    • Fixed sub structure declarations with comments
    • Tidied comments (removed VB comment specifier)
    • Added support for sub-structure arrays
    • No trailing comma when type ends with comment lines
    • Added support for arrays in the form '(expr To expr)'
    • Removed redundant comments

Version 1.29 (05 April 2006) :

  • First public release

Version 1.28:

  • Fixed sub-structure conversion in types
  • Ensures space after SYS in subroutines
  • Exporting to HTML is fully supported
  • Preview string and copy/paste string anomolies resolved
  • Added smart pointer detection and conversion
  • Added smart input/output string detection and parameter correction
  • Complete rewrite of pointer mangling code (believed to be correct)
  • Pointers to structures are now always correct
  • All new string variable name renaming code

Version 1.27:

  • The database is no longer corrupted when viewing declarations.
  • Switching between the BB4W plug in and other plug ins no longer requires the database to be reloaded.

Version 1.26:

  • Better error handling - no longer exits or crashes with a run time error.
  • Structure support upgraded from prototype to full (removed the REM).
  • Character arrays supported in structures.
  • WINMM.DLL calls are recognised as available by default.
  • Reports the correct DLL version.
  • Enumeration names are now prefixed with an underscore.

Known Issues

  • None.

Installation Problems

Some users have reported receiving Runtine Error '91' when accessing the Options dialogue. When APIViewer crashes with this Error, the "synVB6.dll" is missing. Please uninstall and then reinstall APIViewer and choose a full installation.

If the above fails or you encounter other problems you should ensure that you have the correct versions of the run-time files required by APIViewer.  Install the latest Visual Basic 6.0 run-time and MSXML 4.0 Service Pack 2.

Additionally if all else fails, the above should work in all cases, you can select the BBC BASIC plug in by changing the option directly in the registry, ensure that you backup your registry before making any changes:

Set: HKEY_CURRENT_USER\Software\KPD-Team\ApiViewer 2004\Syntax
To: synBB4W.xml

Credits

Thanks to the following people who helped to test the APIViewer plug in:

APIViewer Database Manipulation Tools

APVtoAPV ( Source )

APVtoAPV demonstrates how to read and write APIViewer database files and can form the basis of programs that create, modify or amend APIViewer databases. You might like to refer to the APIViewer database file format documentation which APVtoAPV is based on.

APVtoTXT ( Source )

Converts an APIViewer database into a text file. This file can be modified and later converted to an APIViewer database using TXTtoAPV.

TXTtoAPV ( Source )

Converts a text file created using APVtoTXT to an APIViewer database. The partially complete source code is available; warning this program does not work.

 
 
© JonRipley.com 1995-2007.
 

Any Browser! Valid CSS! Valid HTML 4.01!