Since I also am in the USA, I have to select: MM/dd/ccyy But I get this error message: The date format specified was not recognized by Advantage.

I did not have this problem with the previous version.

Do I now have to use AdsConnection instead of AdsSettings?

asked 21 Mar '13, 11:55

Ule's gravatar image

Ule
31559
accept rate: 0%

I now think it's because of the new version 1.0.8 of Lazarus, probably because it's using version 2.6.2 of FreePascal, previous version used FPC 2.6.0. It won't connect to the dataases either.

(23 Mar '13, 15:56) Ule
1

At this point, the TDataSet descendant has only been tested with version 1.0 of Lazarus, and we cannot guarantee that new versions of Lazarus will not break backwards compatibility with existing TDataSet code. As a result, I would suggest not upgrading to new versions of Lazarus as they are released. It is quite possible that something broke backwards compatibility.

(23 Mar '13, 16:45) Jed Thomet

Thanks Jed. For the sake of others who might want to try Lazarus, the previous 1.0.6 can still be downloaded (http://sourceforge.net/projects/lazarus/files/), it works just fine with the new ADS Version 11.10

(24 Mar '13, 13:25) Ule
1

You're welcome, Ule. I should also point out (in case its not obvious) that we'll try to make the necessary changes to support a more recent release of Lazarus with one of our next TDataSet service packs. So, I'm not saying that we will never support a newer Lazarus release, just that we don't currently support anything newer than 1.0.

(24 Mar '13, 14:12) Jed Thomet

TDataSet version 11.10.0.10 should address the issue.

More information: Lazarus 1.0.8 updated the FreePascal suppot from 2.6.0 to 2.6.2. That addition added some new Unicode string function overloads. It appears that, in come instances, FreePascal is using the wrong overload. When handling the DateFormat string, StrPLCopy is used to copy an ansistring into an array of AnsiChar. The "wrong" overload was called, resulting in the conversion of an AnsiString to a WideString. The resulting buffer (now containing a WideString) was passed into the AdsSetDataFormat API (which was not designed to receive unicode data).

I think this is a regression in FreePascal 2.6.2; but I added a workaround to 11.10.0.10 to prevents the wrong overload from being called. With version 11.10.0.10, I didn't see any problems using Lazarus 1.0.8. Chances are very good that there were other instances of "wrong overload selection" occurring in Lazarus 1.0.8 that caused the other issues you saw. (We still cannot officially support this version, but I don't think you should run into any issues now that this is fixed.)

link

answered 28 Jun '13, 10:56

Jed%20Thomet's gravatar image

Jed Thomet
2.7k12648
accept rate: 38%

AdsSettings is for global settings in the application. I usually use the API instead:

uses ace;
// ...
ace.AdsSetDateFormat(PAnsiChar(ShortDateFormat));
link

answered 21 Mar '13, 13:05

Joachim%20Duerr's gravatar image

Joachim Duerr
8.7k1031133
accept rate: 18%

Your answer to the original question.
If responding to a request for additional information, please edit the question or use the comment functionality.
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "Title")
  • image?![alt text](/path/img.jpg "Title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Tags:

×8

Asked: 21 Mar '13, 11:55

Seen: 4,424 times

Last updated: 28 Jun '13, 10:56

Advantage Developer Zone Contact Us Privacy Policy Copyright Info


Powered by Advantage Database Server and OSQA
Disclaimer: Opinions expressed here are those of the poster and do not necessarily reflect the views of the company.