Menu

#98 BCB4 fixes

Win32/Linux
open
nobody
BCB4 (1)
5
2020-07-06
2020-07-06
No

Hello. I have BCB4 Professional. (Don't laugh, it's the only system I have that
still gives me a license to distribute. After I moved to Linux, it was not practical
to pay for a later version.)

So TDbf has some problems building on BCB4.
Attached is a diff - against tdbf701 - that got it working.
Note that when applying the diff, you may need to supply the --binary option as I did,
because of end of line CR stripping problems from here on Linux (using Wine to run BCB4).

Also, all files in (at least) the svn trunk seem to be formatted Unix style with "0A 0A" line ends.
BCB4 (at least) does not like that.
In the release tarballs this is not the case, end lines are "0D 0A".
I had to re-format all the files to get the svn to build.
Would you like a diff for that as well?

In addition, there are problems with memo fields. In current Lazarus the memo
fields are intermittent, showing in some records but not at all in other records.
Meanwhile in BCB4, all of the memos are shown, which is good, but there are
corrupt characters beyond the end of the memo text.
I will try to help hunt down the problem and supply a patch.

Finally, I am working on an optional patch that is important.
There is a trick that some software companies used to protect themselves.
The table ID byte at byte 0 is altered to a nonsense value so that no one else can read
the tables. When the app starts, it changes the values to proper ones and then runs,
and when finished it alters them back to nonsense values. Nasty trick! No third party
software can read them! Unfortunately that's what I am dealing with.
The technique is discussed in the book "Clipper Programming, 2nd edition version 5"
by MicroTrend publishing. I am certain that the developer of the app I am working
with used that exact book.
My patch will allow the programmer to override the ID byte read,
and open the table smoothly without fuss.
There will be a new TDbf property "TableIDOverride".
Otherwise, one must make copies of potentially dozens of table files and manually
edit the ID byte, and then restore them when done. Not an ideal situation.

Thanks for TDbf !
Tim.
The MusE Sequencer project, and many others...

1 Attachments

Discussion


Log in to post a comment.