My introduction, Neale
Posted: Mon Nov 01, 2021 2:11 am
My name is Neale (from Australia). In the late 70s I studied Pascal and Fortran at Uni. In the early 80s when IBM compatible PCs came out, I started programming in GW BASIC – probably a backward step that has resulted in me never being 100% comfortable with objects and classes but given I was programming for my own business the main thing was I got the job done.
I started looking for something that supported databases a year or so after Clipper 87 came out and that’s what I settled on and used for the next 10 years. Then in 2001 I moved to VO and have been using it ever since (starting with version 2.0 and moving to 2.6 and then 2.8 ).
Last month I finally got around to trying the VOXporter (2.8 ) and XIDE (1.28) for my main VO project. It took less than a week to get rid of numerous compiler errors. Some were syntax related like using i=1 in FOR loops when I should have been using i:=1. Others were related to really old DBF command usage like INDEX ON which only compiled once I changed to the functional equivalent DBCREATEINDEX (plus I found the need for DBSETORDERCONDITION for descending indexes).
When it came to runtime errors there were a few main issues. First, I could not get DBAPP and DBAPPDELIM to work so I wrote my own code to replace these functions. Second, I could not get Norbert’s GetDocumentByGetOrPost to work which I mentioned in a VO forum thread – my solution, thanks to the forum, was to use Wolfgang’s winHTTP with Phil’s function call wrapper (not yet using .net alternatives because initially I want my code to still work with VO 2.8 ).
I also had some problems using reserved words like DATE as field names in index expressions. In VO I could reference the field using a different name (using DbFieldInfo) and the index would still work when set up with the original DATE name – but X Sharp does not like this so I had to use workarounds to using DbFieldInfo like using Fieldget etc).
Hopefully the above may be of use to other newcomers. The only other issue I have now is when I try to run an old module that uses the old VO data browser I get this message “Cannot load library: CATO3CNT.DLL” – is there something obvious I need to do to correct this?
Regards, Neale
I started looking for something that supported databases a year or so after Clipper 87 came out and that’s what I settled on and used for the next 10 years. Then in 2001 I moved to VO and have been using it ever since (starting with version 2.0 and moving to 2.6 and then 2.8 ).
Last month I finally got around to trying the VOXporter (2.8 ) and XIDE (1.28) for my main VO project. It took less than a week to get rid of numerous compiler errors. Some were syntax related like using i=1 in FOR loops when I should have been using i:=1. Others were related to really old DBF command usage like INDEX ON which only compiled once I changed to the functional equivalent DBCREATEINDEX (plus I found the need for DBSETORDERCONDITION for descending indexes).
When it came to runtime errors there were a few main issues. First, I could not get DBAPP and DBAPPDELIM to work so I wrote my own code to replace these functions. Second, I could not get Norbert’s GetDocumentByGetOrPost to work which I mentioned in a VO forum thread – my solution, thanks to the forum, was to use Wolfgang’s winHTTP with Phil’s function call wrapper (not yet using .net alternatives because initially I want my code to still work with VO 2.8 ).
I also had some problems using reserved words like DATE as field names in index expressions. In VO I could reference the field using a different name (using DbFieldInfo) and the index would still work when set up with the original DATE name – but X Sharp does not like this so I had to use workarounds to using DbFieldInfo like using Fieldget etc).
Hopefully the above may be of use to other newcomers. The only other issue I have now is when I try to run an old module that uses the old VO data browser I get this message “Cannot load library: CATO3CNT.DLL” – is there something obvious I need to do to correct this?
Regards, Neale