Recent

Author Topic: IBX For Lazarus 1.4.2 is now available for download  (Read 4793 times)

tonyw

  • Sr. Member
  • ****
  • Posts: 321
    • MWA Software
IBX For Lazarus 1.4.2 is now available for download
« on: July 16, 2016, 02:59:59 pm »
MWA Software is pleased to announce that release 1.4.2 of IBX for Lazarus is now available for download from http://mwasoftware.co.uk/ibx. This is a minor release necessary to overcome a compiliation problem with Lazarus 1.7.0 and later due to UTF8 functions being removed from Sysutils. The release also fixes some other minor bugs:

1. IBBlob: Defer reading of blob until read method called. This avoids having to
   read in an entire blob just to get the size of the blob. General performance
   improvement when opening datasets containing blobs.

2. Clearing a  Blob now sets the corresponding field's modified flag.

3. IBLookupCombo: When not performing auto-complete, original query sort order
   is now used.

4. IBDynamicGrid: Add OnSelectEditor event. Allows editor panel to be dynamically
   determined.

5. IBDynamicGrid: Recompute column widths after dataset closed and re-opened.

6. IBLookupCombo: LazUTF8 added to uses clause to avoid compilation problems post
   lazarus 1.6.0

7. IBControls. Removed "runtime" from list of paths to avoid "multiple packages"
   compilation error.

laguna

  • Sr. Member
  • ****
  • Posts: 323
Re: IBX For Lazarus 1.4.2 is now available for download
« Reply #1 on: August 02, 2016, 09:33:50 am »
I found this bug, I guess.
Only to string values.
The value is canceled when it passes through the procedure
Code: Pascal  [Select][+][-]
  1. procedure TIBStringField.SetAsString(const Value: string);
  2. ...
  3. {$IFDEF HAS_ANSISTRING_CODEPAGE}
  4.     if StringCodePage(s) <> CodePage then
  5.       SetCodePage(s,CodePage,true);
  6.     {$ENDIF}
  7. ...
  8.  
After that comes out of this verification, the variable S returns a null value
Maybe I was wrong to set anything myself, but I'm not sure, because the Integer data (no strings) and the value is handled by another procedure.

I am attaching the steps screens

tonyw

  • Sr. Member
  • ****
  • Posts: 321
    • MWA Software
Re: IBX For Lazarus 1.4.2 is now available for download
« Reply #2 on: August 02, 2016, 09:59:38 am »
This has to be a bug in "SetCodePage" - although it may also be interesting to know "how we got here".

The code is setting the codepage of the string to CP_NONE and asking for transliteration. No transliteration should take place when the target codepage is CP_NONE. Instead it seems to set the string to null. I suggest an FPC bug report.

In the meantime, can you try changing the source code to:

{$IFDEF HAS_ANSISTRING_CODEPAGE}
    if StringCodePage(s) <> CodePage then
      SetCodePage(s,CodePage,CodePage<>CP_NONE);
    {$ENDIF}

This should work around the problem - assuming I am right about the possible bug in SetCodePage.

I am also interested to know how you got a codepage of CP_NONE in the first place. Have you set an lc_ctype when the database connection was opened? Is the actual string an Octetstring or a string with character set none?

Thaddy

  • Hero Member
  • *****
  • Posts: 14373
  • Sensorship about opinions does not belong here.
Re: IBX For Lazarus 1.4.2 is now available for download
« Reply #3 on: August 02, 2016, 11:10:57 am »
Uhmmm shouldn't the header read IBX 1.4.2  For Lazarus is now available for download?
Because I understand it works in Lazarus 1,7?

I almost wanted to do a write-up that you should not release add-ons for unsupported Lazarus versions like 1.4.2 .. :)

Maybe you can change it?
Object Pascal programmers should get rid of their "component fetish" especially with the non-visuals.

tonyw

  • Sr. Member
  • ****
  • Posts: 321
    • MWA Software
Re: IBX For Lazarus 1.4.2 is now available for download
« Reply #4 on: August 02, 2016, 11:35:11 am »
Ooops. English Language syntax is such fun... I wrote it as "IBX For Lazarus" 1.4.2 is now available for download and not IBX For "Lazarus 1.4.2" is now available for download. ::)

Zoran

  • Hero Member
  • *****
  • Posts: 1830
    • http://wiki.lazarus.freepascal.org/User:Zoran
Re: IBX For Lazarus 1.4.2 is now available for download
« Reply #5 on: August 02, 2016, 11:52:01 am »
Ooops. English Language syntax is such fun... I wrote it as "IBX For Lazarus" 1.4.2 is now available for download and not IBX For "Lazarus 1.4.2" is now available for download. ::)

Perhaps capital F in the word "For", which means it is a part of product name, should be enough to tell us what you mean. ;)
"IBX For Lazarus 1.4.2" means "(IBX For Lazarus) 1.4.2", whereas "IBX for Lazarus 1.4.2" would mean "IBX for (Lazarus 1.4.2)". 8-)

Thaddy

  • Hero Member
  • *****
  • Posts: 14373
  • Sensorship about opinions does not belong here.
Re: IBX For Lazarus 1.4.2 is now available for download
« Reply #6 on: August 02, 2016, 01:22:03 pm »
The only correct way to write it unambiguously is as I proposed.
 IBX 1.4.2  For Lazarus is now available for download.

I am near native, but a native speaker will confirm that.
Object Pascal programmers should get rid of their "component fetish" especially with the non-visuals.

tonyw

  • Sr. Member
  • ****
  • Posts: 321
    • MWA Software
Re: IBX For Lazarus 1.4.2 is now available for download
« Reply #7 on: August 02, 2016, 02:04:47 pm »
To remove all ambiguity, I would go for "Version 1.4.2 of IBX For Lazarus is now available for Download."


shobits1

  • Sr. Member
  • ****
  • Posts: 271
  • .
Re: IBX For Lazarus 1.4.2 is now available for download
« Reply #8 on: August 02, 2016, 10:37:43 pm »
I agree with Thaddy,
the most correct way is "IBX v1.4.2 for Lazarus is now available for download", or simply you can omit the Lazarus/download part completely since this Lazarus's forum and write "IBX v1.4.2 released" or "MWA: IBX v1.4.2 released" which I think is better.

 

TinyPortal © 2005-2018