Small. Fast. Reliable.
Choose any three.
*** 605,647 ****
  This is a step-by-step procedure for those like me who wish to recompile SQLite and the "VB Wrapper" by Steve O'Hara to make this DLL VB-friendly. Note that I don't remember much from my C days, so should any kind soul spot any error, please add your corrections:
  
  1: Install MS VC++
! 1: File | New | Projects : Choose Win32 DLL, and give a name to your new project. It will be saved in its own 
!     subdirectory under "\Program Files\DevStudio\MyProjects\
! 1: Unzip the SQLite source code into this directory (Caution: I understand that there are two versions of the 
!     source code. One is the most generic, ie. not meant for a particular OS, while one source package has 
!     been massaged, ready to be compiled by MS VC++. Choose the latter)
! 1: Project | Add to project | Files, navigate to the folder where your project lives and now contains the 
!     SQLite source files, and select all its C files to have them added to your project (Note: To remove a file 
!     from a project, select it once with the mouse, and hit the DEL key. There is no option in the menu, either 
!     the application's or the pop-up's)
  1: If you have no use for TCL (a scripting language), remove tclsqlite.c
! 1: Build | Set Active Configuration, and select "My project - Win32 Release" so we generate a plain DLL, with 
!     no debug infos
! 1: If you wish to add version information so you get a Version tab when right-clicking on the DLL in Windows 
!     Explorer, select Project | Add to project | New : Resource Script. A clear-text res.rc is added to the project 
!     that you can edit to include version information (I haven't found how to have the version be incremented 
!     automatically.)
!     Hit Build | Build mysqlite.dll, and right-click on the output DLL: You should have a Version tab. Note that 
!     this version info embedded by VC++ is independent from the version info returned by sqlite_libversion(), 
!     ie. don't worry about the fact that the former is a four-digit number, while the latter uses three
! 1: Build | Rebuild All. You'll see plenty of warnings, but if all goes well, you should now have a DLL in a 
!     Release/ subdirectory in your project directory
! 
! If you wish to use Steve O'Hara's free VB wrapper ("VB Wrapper", ex-psvbutls32 in the Files section of the now 
! dead SQLite mailing list over at Yahoo), just add its source file pssql.c and its export file pssql.def to your 
! project, *(NECESSARY?) edit the DEF file so that the LIBRARY line matches the name of your DLL*, and build the 
! DLL.
! 
! Note that pssql.c assumes that the SQLite source code is located in a sqlite/ subdirectory, so either create a 
! subdirectory to host the SQLite source files, or edit this file to have all the C files in the same directory. If the DEF file is missing, you'll get ""Runtime Error 453 Can't find DLL entry point PSVBUTLS_VersionDB in 
! mysqlite.dll" when calling any of the wrapper's exported functions.
  
  To check that this DLL works fine, create a new project in VB, add the following code in a form, and hit F5:
  
! 	Private Declare Function PSVBUTLS_VersionDB$ Lib "newsqlite.dll" ()
  
  	Private Sub Form_Load()
  	    Me.Caption = "SQLite version " & PSVBUTLS_VersionDB$
  	End Sub
  
  Voila! :-)
--- 605,630 ----
  This is a step-by-step procedure for those like me who wish to recompile SQLite and the "VB Wrapper" by Steve O'Hara to make this DLL VB-friendly. Note that I don't remember much from my C days, so should any kind soul spot any error, please add your corrections:
  
  1: Install MS VC++
! 1: File | New | Projects : Choose Win32 DLL, and give a name to your new project. It will be saved in its own subdirectory under "\Program Files\DevStudio\MyProjects\". Choose the name carefully as it will be the one used to generate the DLL
! 1: Unzip the SQLite source code into this directory (Caution: I understand that there are two versions of the source code. One is the most generic, ie. not meant for a particular OS, while one source package has been massaged, ready to be compiled by MS VC++. Choose the latter)
! 1: Project | Add to project | Files, navigate to the folder where your project lives and now contains the SQLite source files, and select all its C files to have them added to your project (Note: To remove a file from a project, select it once with the mouse, and hit the DEL key. There is no option in the menu, either the application's or the pop-up's)
  1: If you have no use for TCL (a scripting language), remove tclsqlite.c
! 1: Build | Set Active Configuration, and select "My project - Win32 Release" so we generate a plain DLL, with no debug infos
! 1: If you wish to add version information so you get a Version tab when right-clicking on the DLL in Windows Explorer, select Project | Add to project | New : Resource Script. A clear-text res.rc is added to the project that you can edit to include version information (I haven't found how to have the version be incremented automatically.) Hit Build | Build mysqlite.dll, and right-click on the output DLL: You should have a Version tab. Note that this version info embedded by VC++ is independent from the version info returned by sqlite_libversion(), ie. don't worry about the fact that the former is a four-digit number, while the latter uses three
! 1: Build | Rebuild All. You'll see plenty of warnings, but if all goes well, you should now have a DLL in a Release/ subdirectory in your project directory
! 
! If you wish to use Steve O'Hara's free VB wrapper ("VB Wrapper", ex-psvbutls32 in the Files section of the now dead SQLite mailing list over at Yahoo), just add its source file pssql.c and its export file pssql.def to your project, edit the DEF file so that the LIBRARY line matches the name of your DLL (or you'll get a warning), and build the DLL.
! 
! Note that pssql.c assumes that the SQLite source code is located in a sqlite/ subdirectory, so either create a subdirectory to host the SQLite source files, or edit this file to have all the C files in the same directory. If the DEF file is missing, you'll get ""Runtime Error 453 Can't find DLL entry point PSVBUTLS_VersionDB in mysqlite.dll" when calling any of the wrapper's exported functions.
  
  To check that this DLL works fine, create a new project in VB, add the following code in a form, and hit F5:
  
! 	Private Declare Function PSVBUTLS_VersionDB$ Lib "mysqlite.dll" ()
  
  	Private Sub Form_Load()
  	    Me.Caption = "SQLite version " & PSVBUTLS_VersionDB$
  	End Sub
  
  Voila! :-)
+ 
+ Fred.