Question: I get an exception:"Variant or safe arrays out of bounds" on selecting any records sorted by "ORDER BY [NAME]" (in Kylix 3). What should I do?

Answer: This is Kylix bug. Do each of the below-mentioned steps, otherwise the error will remain.

  1. {$KYLIX} is a subdirectory where the IDE is installed (i.e. /home/svd/kylix3 by default). Completely delete this directory with the old FIBPlus version and all *.so,*.dcu,*.dpu files of this library (if there are any in another directory.
  2. Open the console under User name (not root).
  3. Find the file {$KYLIX}/source/rtl/sys/VarUtils.pas, and change two lines in the line 1499:
    .....
    Result^.Bounds[LDim].ElementCount := Bounds[DimCount - LDim - 1].ElementCount;
    Result^.Bounds[LDim].LowBound := Bounds[DimCount - LDim - 1].LowBound;
    ....
    replace by
    .....
    Result^.Bounds[DimCount - LDim - 1].ElementCount := Bounds[DimCount - LDim -1].ElementCount;
    Result^.Bounds[DimCount - LDim - 1].LowBound := Bounds[DimCount - LDim - 1].LowBound;
    ......
  4. Close the editor, saving all the changes and compile the module from the command line:
    >../../../bin/dcc VarUtils.pas
    After this you will see the file VarUtils.dcu in this directory. Simply COPY (!) it to the directories {$KYLIX}/lib and {$KYLIX}/lib/debug, by replacing the existing files there.
  5. Go to {$KYLIX}/source/rtl/
  6. Find the file GNUmakefile, open it in the editor, stand on line 26 and replace the BINDIR variable value by the one, used in {$KYLIX} (that is the directory with the Kylix installation)
  7. Close the editor and execute
    >make
    Then you will see the second package file, simply leave it, as it's not necessary .
  8. Go to the subdirectory {$KYLIX}/bin, find the file "bplrtl.so.6.9.0" and replace it by "bplrtl_old.so.6.9.0". Then find "bplrtl_user.so.6.9.0" and rename it to "bplrtl.so.6.9.0".
  9. Run Kylix and install the new FIBPlus packag

Preview text: 
Prices in Euro:

235 (1 copy)
1250 (unlimited)

Volume discounts are available...

Navigation



We are a small software company with thousands of customers delivering comany wide systems including accounting, logistics, e-commerce, POS, sales etc etc. Several years ago, when we were still a very small company, we used Delphi 3 and Paradox combined with BDE. As our system (and customer base) grew I decided to switch to Delphi 5 and Interbase. Being a huge improvement over Delphi 3 and Paradox, I encountered numerous problems with IBX: memory leaks, performance issues and other problems. Borland was not to be bothered: IBX was provided "as is" and no support was avaliable. 
Not being very eager to use third party components with Delphi at first, I decided to give FIBPlus a try. At once all problems where gone: no more memory leaks and  performance was very consistent. 
But the real advantage of switching to FIBPlus came with the upgrade to D2005: after upgrading there were some problems with the new FIBPlus version. After emailing the problem I received an update within an hour! And this was at 11 pm! A few other (smaller) errors where handled in the same way. 
Our motto is: software is as good as its support. And support of Devrace is just great!
Just a little indication of our FIBPlus use: all our software runs 100% on FIBPlus. Our customers have a total of aprox. 4.800 Firebird databases in production, with a combined size of over 130TB and over 80 million transactions a day. Every
day. And FIBPlus has not failed a single transaction. Not once. There is, however, one (minor) drawback in using FIBPlus: while debugging an application which uses and invalid SQL instruction, de Delphi Debugger returns to the FIBPlus code instead of to our calling code (where the actual error comes from), thereby complicating de debug proces a little. But that is a very small price to pay for a otherwise brilliant third party solution! >>

Bas Jordans JorSoft Ltd
FOR CUSTOMERS
Download full versions and updates in your Personal Area