Release Notes

Until I rewrite these ramblings I am going to include my first beta release readme files here as release notes.

General README file for Windows32 version of TDF_lib

Beta Releases 1 & 2


Here is a release of the ported code that I have been running in production in my office for a couple of months. See www.tdfltd.com/products/wtdf_lib.htm for info about the new modules in the library (I'll also be working on the page this weekend so check back for further updates). The quote windows, graphic windows and indicator engine code has not been finished and integrated into the library yet. And since I am a typical programmer the new modules have not been documented yet either :-) So you'll have to read the source.

Compiler Issues

Everything here builds clean under Visual C 5.0 as either a DLL or static link library or as a direct include in a project. This is also now true for Borland with a single exception. For some reason Borland name decorates one function - db_printf(). The function is placed in the library and works fine - it just has to be called from Visual Basic or perl as _db_printf(). And the prompting dialog box does not work from perl under a Borland built dll either.

Sometime between 4.52 and 5.02 Borland added support for the Microsoft keyword declspec. That means you don't have to fight with Borland's import and export keywords. The same macros are now used in dll_defs.h for both compilers. They are in there as redundant entries currently in case some compiler specific issue does come up.

If you have to modify anything other than dll_defs.h please let me know.

And let me know how it works under CBuilder too if you can, if you use it normally.

The library as a DLL also builds clean (well with two errors) under Borland 4.52. And the resulting Borland DLL appears to work under limited perl script testing. I did observe a couple of problems with it though. It appears that there is a problem in the resource id-ing for the module tdf_dlgs. But more importantly are the 2 compile errors. I don't see what Borland doesn't like with the function prototypes. Microsoft likes them and they work fine. But it might be flakiness on my 4.52 compiler. It was not installed from CD but restored from a backup after a disk crash. So I have ordered the 5.02 upgrade and will look at the couple of errors once I get it next week.There is also a problem trying to link the sample apps to the dll. This should be a simple matter of defining the top level macros in dll_defs.h to include the correct keywords for Borland (read that - discovering the correct voodoo chant). If you define them all to be null strings you can build the apps and library as static link version ok. I'll also look at this under the new version.

Usage & Building Issues

The library can be used 3 ways. It can be built and used as a dll or static link library. Or the individual modules can be directly included in a project and directly compiled and linked with the other modules in the project. The library can be used by either windows32 applications or by console applications. It can also be called from Visual Basic or from Perl (via WIN32::API).

To build the library as a dll to use from perl there is a difference between the Microsoft and Borland compilers. All functions that I have tested work fine from Microsoft. But to get a correctly exported function name in the library you must link in a def file. The Borland compiler builds the library exports correctly from the declspec's in the code without use of a def file. Unfortunately in the resulting dll the prompting dialog box does not work but display dialog boxes work fine. And if you used the name mangled function name _db_printf() the TCP/IP logging works fine too.

Sample programs

The following sample programs have been ported and semi tested. There are copies of the running exe's in the tdf_lib\working directory. Watch my web site for longer descriptions of the apps and screen shots.

The copies in the working directory have all been built by Borland under Windows 95 as static link versions. They all work fine under Windows 95. I also did some limited testing under NT4.0 too. WLOGGER, ANAL_CYC and DUMP_CDT all run ok. TDF_TTY comes up, opens the serial port and displays the logging window but since I don't have a data feed running to that box I have not seen the app actually collect any data. There is a problem with APP_MON though. It crashes with an access violation. Unfortunately my NT box is an old and flaky 486. Runs randomly from a few minutes to N minutes before crashing due to a keyboard controller lockup. It only has free disk space measured in 10's of megs so I can't fit either Borland or Microsoft current packages on it so I could not look at the crash under a debugger. It is probably some easy (and stupid :-) so if you could take a moment and take a look and let me know the problem - I would appreciate it.

Environment Issues

A couple of the library defaults that you may want to update to your local environment are -


And two of the perl scripts will probably need to be updated for your environment.


Revised on 2 August 1998
© 1998 Tierra del Fuego Ltd.