Pretty keen - yes, my hobby keeps me busy
and if I talk to myself, what's the crime?
- Peter Hammill, "Last frame"
After a good night's sleep, my right brain came up with an interesting idea that extends yesterday's solution 1 of an external program to calculate correlations. What would happen if I had another calculation that required heavy processing? Would I create a new external program with its dedicated messages?
No: all I need to do is create a general, auxiliary, program to which
is passed a string of parameters, where the first parameter is the function
number within the auxiliary program to be executed. When that function
completes, it sends a message back to the main program, where one parameter is
the function number and the second parameter is the data instance number. This
reminds me vaguely of the old DOS Int 21h interface.
As this auxiliary program is going to support a variety of calculations, it makes sense to have certain portions global to the program - the initialisation of the database along with the NewInstance and CloseInstance function/procedure. Then all the specific correlation code can go into one procedure with its local variables.
As I mentioned yesterday, I am using the InterBase components; this makes initialising the database easier especially as I am writing a text-only unit. One major difference between the InterBase components and the dbExpress set is that the first set uses transactions. I discovered in a painful manner yesterday that in order for a query to insert or update data in the database, the transaction has to be committed, otherwise nothing happens. Not only that, the transaction has to be set as non-active after the commit so that it can be reused. This flag setting seems to be required after every database action, regardless of whether its an insertion or a selection. This has tripped me up several times, and I'm not sure if I am yet capable of writing a sequence of SQL commands without getting an error message about the transaction.
As this blog's epigraph puts, "yes, my hobby keeps me busy". I enjoy programming - or at least, defining what has to be programmed. As code rarely works the way it is intended first time, I have to debug a certain amount/great deal, and this can be tedious.
Internal links
[1] 1839
Title | Tags | ||
---|---|---|---|
294 | Sweet and sour chicken | Cooking, Slow cooker | |
295 | Project Management course | MBA, Project management | |
417 | Getting ready for the Kindle | Kindle, E-book | |
983 | Who's watching who? | Grandfather | |
1349 | Completing the story of porting an application to Windows 10/Delphi 10.2 | Delphi, Unicode |
No comments:
Post a Comment