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



Our 911 dispatch center needed a program to monitor the status of equipment used in emergency situations. If one dispatcher modified the status of a piece of equipment, all the other dispatchers needed to see this change immediately. The most elegant way to implement this was by using Firebird Events to asynchronously notify all the users whenever a pertinent change had occurred at the database server. After failing to implement this myself using the Firebird API, I bought a copy of FIBPlus. I dropped a Database, EventAlert and ErrorHandler control into a C++ Builder DataModule and within minutes I had all the functionality I needed. I was able to complete the project quickly and the users are thrilled with the results because I gave them more features than they originally asked for. >>

Darryl Caillouet Programmer City of Little Rock
FOR CUSTOMERS
Download full versions and updates in your Personal Area