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) :
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
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.
|