Borland/Inprise/Codegear/Embarcadero Pascal Compiler Issue

Borland/Inprise/Codegear/Embarcadero Pascal Compiler Issue


    Jul 11, 2012#1

    EDIT: I have released this program.

    Download Here

    Please see the Readme.txt file for information on how to use this program.

    Yes, I named all four, Borland/Inprise/Codegear/Embarcadero, because each company that owned the compiler that started out as Borland Pascal and later Delphi, has the same problem with their compiler output. I'm curious to know if anyone else is using these compilers and experienced the same issue. I've been frustrated with it for quite a while now, but only recently decided to do something about it.

    When capturing the output from the compiler (I have tested as far back as Borland Turbo Pascal 5.5 through 7.0, Delphi 2.0, Delphi 5.0, and Delphi 2010 and Delphi XE), there is a strange behavior that does not show up when allowing the output to go straight to the DOS Console. There is a lot of extra "printing" to the captured output that is not actually displayed by the Console, because each line "terminates" with a "Carriage Return" only. This CR only termination causes the line to be overwritten by the next line in DOS, but when capturing output, via UEStudio's Output Window, they all run together as one LONG line.

    On large programs, this is a problem. This causes some lines to be so long that the actual end of the line is lost. Because of multiple line numbers on each line, it is impossible to "go to" a message line in the code, or at least impossible to go to the one you are wanting.

    Therefore, I have created a small program to "supplement" these compilers. You can configure the compiler in an INI file, and place this program in the same path as the compiler.

    Once you have this done, then point UEStudio to this program to compile/build instead of the borland/inprise/embarcadero compiler, and this program will pass all the command line arguments "exactly as passed" to this program, so it works sort of like a drop-in replacement for those compilers as far as UEStudio is concerned. This program will then capture the output of the Borland compiler, filter out the unwanted lines (lines that should not be displayed or would not normally be displayed in the DOS command prompt), make sure that all line terminators are corrected (Embarcadero added an additional line feed after the carriage-return line-feed DOS combination, so all have CRLFLF instead of CRLF), and will output the correct output for UEStudio to capture. It works like a charm and finally makes the compiler user friendly enough to use within UEStudio regularly.

    I'm not sure how many other people are in need of such a tool as this, but I will be working on setting up some documentation for this tool over the next few days, and perhaps will also work on setting up compiler configurations for a few versions of Delphi/Turbo Pascal/Borland Pascal that will aid in getting set up faster.

      Jul 17, 2012#2

      July 17, 2012: Version 1.01 corrects an issue where the compiler is always called using the "root" of drive C: as the working directory. The working path will now be the path of the compiler, which corrects an issue where the drive letter was not given during the output intended to be captured by UEStudio.