cancel
Showing results for 
Search instead for 
Did you mean: 

Delphi 10.1 Berlin compatibility

Former Member
0 Kudos

Does anyone have any idea if ADS 12.0, in its current iteration, is compatibility with / offers support for, Delphi 10.1 Berlin?

Thanks.

Accepted Solutions (0)

Answers (3)

Answers (3)

HakanHaslaman
Product and Topic Expert
Product and Topic Expert
0 Kudos

joachim_drr
Contributor
0 Kudos
Former Member
0 Kudos

You're a life saver, Joachim, and a great asset to this forum, and to ADS. It's a shame that SAP doesn't seem to have as much concern for their customers and products.

Thanks very much!

Former Member
0 Kudos

Thank you for this. However, I am stuck on one of your steps.

I am at the point:

>Launch Delphi Berlin as Administrator, open the runtime project Win32\sources\adsdxe8studio.dproj and save the project as adsd101berlinstudio.dproj to the same location. Modify the DCP output directory to the local folder (.\).Then build the project.

This will not build. I started with adsdxe8dstudio.dproj as it was the latest version listed. The build stops with, "[dcc32 Fatal Error] adsdxe8studio.dpk(34): E2225 Never-build package 'rtl' must be recompiled", followed by "[dcc32 Fatal Error] adsd101berlinstudio.dpk(35): E2202 Required package 'adsdxe8studio' not found"

Since rtl is a never-build package, how does one get around this? Will it have the same problems with the other dcp requirements?

Thanks,

Rick

joachim_drr
Contributor
0 Kudos

Richard,

the 'd' are the design time packages (adsxe8dstudio.dproj). You need to built the runtime package first.

Former Member
0 Kudos

OOPS. You are right -- I started with the wrong one. It installed perfectly.

THANK YOU!

Rick

Former Member
0 Kudos

How would I install TDataSet components for ADS12 under BCB5? If I put my exe's built with TDataSet ADS v8.1 components (the last one that would install in BCB5) in a directory with the ADS12 DLLs, it all works and I can create compressed memos etcetera in adt files, but I am concerned I may be missing out on something by not using TDataSet ADS12 components in my BCB5 palette.

joachim_drr
Contributor
0 Kudos

Mark,

I didn't use BCB5 for quiate a long time;)

Using old components in conjunction with newer DLLS will work until you get some field types back that are not supported by the old components. I'm not sure if the current components are backwards compatible, but you could try the steps mentioned in my tutorial.

Former Member
0 Kudos

I did try your steps and got all the bpl, bpi, pas, hpp etcetera files from the msi. They go back to Delphi 2007 but not before, and I believe it is because ADS now uses Unicode strings, so I'll keep using the Ads 8.1 components with the latest DLLs (v11.1 at the moment which benchmarked as just slightly faster than 12 for DBF and XBase expression usage) until it stops working! I still love ADS.

mtroulis
Explorer
0 Kudos

Thanks Joachim. Worked perfectly for me!

HakanHaslaman
Product and Topic Expert
Product and Topic Expert
0 Kudos

The last Delphi release we support on ADS 12.0 is Delphi 10 Seattle. Currently, we have not added support for Delphi 10.1 Berlin.

Former Member
0 Kudos

... and I don't suppose engineering has tested ADS 12 to know if any modifications are even required?

HakanHaslaman
Product and Topic Expert
Product and Topic Expert
0 Kudos

No, it's not tested.
If I get any information about planning to support Delphi 10.1 Berlin, I will let you know.

Former Member
0 Kudos

Hallo Herr Haslaman,

auch wir wären sehr interessiert an einer schnellen Veröffentlichung der TDataSet-Komponenten für Delphi 10.1 Berlin. Und zwar sowohl in Version 12 als auch in Version 11. Ist eine Delphi-10.1-Version für ADS-Version 11 geplant?

Tschüss und bis bald

Hendrik Albat.

HakanHaslaman
Product and Topic Expert
Product and Topic Expert
0 Kudos

I will forward this request to the engieering as customer wishes.

0 Kudos

Is there an easy way to manually compile and Install the latest Components in Delphi Berlin ?

I you could just give us the required steps, it would be great.

Thanks in advance,

Stephan

joachim_drr
Contributor
0 Kudos

search the internet for Dr Bob's Delphi clinic. He published an article a couple of years back on how to compile ADS component for a newer Delphi version. Currently I don't have a ccess to Berlin. But as soon as I get it, I'll try and post the steps.

0 Kudos

Thank you Joachim. It worked. I can now test my ADS enabled application with Delphi Berlin.

Former Member
0 Kudos

May I ask how you modified the 'versions.inc' file? I'm using D10-Seattle and ADS 12 but the last entry for Delphi in the 'versions' file is:

{$IFDEF VER290}

   {$DEFINE ADSDELPHIXE8}

{$ENDIF}

Not sure what to add for Berlin, and it would appear that re-compiling with Seattle would most likely not work, either, if it were ever necessary.

Will greatly appreciate any advice.

0 Kudos

Howard,

Here's my versions.inc file, up to Delphi Berlin.

Hope it helps.

Stephan

{$IFDEF VER80}

   {$DEFINE ADSDELPHI1}

{$ENDIF}

{$IFDEF VER90}

   {$DEFINE ADSDELPHI2}

{$ENDIF}

{$IFDEF VER100}

   {$DEFINE ADSDELPHI3}

{$ENDIF}

{$IFDEF VER120}

   {$DEFINE ADSDELPHI4}

{$ENDIF}

{$IFDEF VER130}

   {$DEFINE ADSDELPHI5}

{$ENDIF}

{$IFDEF VER140}

   {$DEFINE ADSDELPHI6}

{$ENDIF}

{$IFDEF VER150}

   {$DEFINE ADSDELPHI7}

{$ENDIF}

{$IFDEF VER170}

   {$DEFINE ADSDELPHI2005}

{$ENDIF}

{$IFDEF VER180}

   {$DEFINE ADSDELPHI2006}

{$ENDIF}

{$IFDEF VER185}

   {$DEFINE ADSDELPHI2007}

   // In Delphi2007 both VER180 and VER185 are defined because it is

   // a "non-breaking" release. This messes with our logic below, so

   // undefine ADSDELPHI2006 here.

   // Here.

   {$UNDEF ADSDELPHI2006}

{$ENDIF}

{$IFDEF VER200}

   {$DEFINE ADSDELPHI2008}

{$ENDIF}

{$IFDEF VER210}

   {$DEFINE ADSDELPHI2010}

{$ENDIF}

{$IFDEF VER220}

   {$DEFINE ADSDELPHIXE}

{$ENDIF}

{$IFDEF VER230}

   {$DEFINE ADSDELPHIXE2}

{$ENDIF}

{$IFDEF VER240}

   {$DEFINE ADSDELPHIXE3}

{$ENDIF}

{$IFDEF VER250}

   {$DEFINE ADSDELPHIXE4}

{$ENDIF}

{$IFDEF VER260}

   {$DEFINE ADSDELPHIXE5}

{$ENDIF}

{$IFDEF VER270}

   {$DEFINE ADSDELPHIXE6}

{$ENDIF}

{$IFDEF VER280}

   {$DEFINE ADSDELPHIXE7}

{$ENDIF}

{$IFDEF VER290}

   {$DEFINE ADSDELPHIXE8}

{$ENDIF}

{$IFDEF VER300}

   {$DEFINE ADSDELPHI10SEATTLE}

{$ENDIF}

{$IFDEF VER310}

   {$DEFINE ADSDELPHIBERLIN}

{$ENDIF}

{$IFDEF VER93}

   {$DEFINE ADSCBUILDER1}

{$ENDIF}

{$IFDEF VER110}

   {$DEFINE ADSCBUILDER3}

   {$ObjExportAll On}

{$ENDIF}

{$IFDEF VER125}

   {$DEFINE ADSCBUILDER4}

   {$ObjExportAll On}

{$ENDIF}

{$IFDEF CBUILDER}

   {$ObjExportAll On}

{$ENDIF}

{$IFDEF FPC}

   {$DEFINE ADSDELPHI2007}

   {$IFDEF VER2_2_4}

      {$DEFINE ADSFPC2_2_4}

   {$ENDIF}

   {$IFDEF VER2_4_2}

      {$DEFINE ADSFPC2_4_2}

   {$ENDIF}

   {$IFDEF VER2_6_0}

      {$DEFINE ADSFPC2_6_0}

   {$ENDIF}

   {$IFNDEF ADSFPC2_2_4}

      {$DEFINE ADSFPC2_4_2_OR_NEWER}

      {$IFNDEF VER2_4_2}

         {$DEFINE ADSFPC2_6_0_OR_NEWER}

       {$ENDIF}

   {$ENDIF}

   {$IFDEF LINUX}

      {$LINKLIB stdc++}

      {$LINKLIB adsloc}

   {$ENDIF}

{$ENDIF}

{$IFNDEF ADSDELPHI1}

   {$IFNDEF ADSDELPHI2}

      {$IFNDEF ADSCBUILDER1}

         {$DEFINE ADSDELPHI3_OR_NEWER }

         {$IFNDEF ADSDELPHI3 }

            {$DEFINE ADSCBUILDER3_OR_NEWER }

            {$IFNDEF ADSCBUILDER3}

               {$DEFINE ADSDELPHI4_OR_NEWER }

               {$IFNDEF ADSDELPHI4}

                  {$DEFINE ADSCBUILDER4_OR_NEWER }

                  {$IFNDEF ADSCBUILDER4}

                     {$DEFINE ADSDELPHI5_OR_NEWER }

                     {$IFNDEF ADSDELPHI5}

                        {$DEFINE ADSDELPHI6_OR_NEWER}

                        {$IFNDEF ADSDELPHI6}

                           {$DEFINE ADSDELPHI7_OR_NEWER}

                           {$IFNDEF ADSDELPHI7}

                              {$DEFINE ADSDELPHI2005_OR_NEWER}

                              {$IFNDEF ADSDELPHI2005}

                                 {$DEFINE ADSDELPHI2006_OR_NEWER}

                                 {$IFNDEF ADSDELPHI2006}

                                    {$DEFINE ADSDELPHI2007_OR_NEWER}

                                    {$IFNDEF ADSDELPHI2007}

                                       {$DEFINE ADSDELPHI2008_OR_NEWER}

                                       {$IFNDEF ADSDELPHI2008}

                                          {$DEFINE ADSDELPHI2010_OR_NEWER}

                                          {$IFNDEF ADSDELPHI2010}

                                             {$DEFINE ADSDELPHIXE_OR_NEWER}

                                             {$IFNDEF ADSDELPHIXE}

                                                {$DEFINE ADSDELPHIXE2_OR_NEWER}

                                                {$IFNDEF ADSDELPHIXE2}

                                                   {$DEFINE ADSDELPHIXE3_OR_NEWER}

                                                   {$IFNDEF ADSDELPHIXE3}

                                                      {$DEFINE ADSDELPHIXE4_OR_NEWER}

                                                      {$IFNDEF ADSDELPHIXE4}

                                                     

                                                         {$DEFINE ADSDELPHIXE5_OR_NEWER}

                                                         {$IFNDEF ADSDELPHIXE5}

                                                        

                                                            {$DEFINE ADSDELPHIXE6_OR_NEWER}

                                                            {$IFNDEF ADSDELPHIXE6}

                                                           

                                                               {$DEFINE ADSDELPHIXE7_OR_NEWER}

                                                               {$IFNDEF ADSDELPHIXE7}

                                                              

                                                                  {$DEFINE ADSDELPHIXE8_OR_NEWER}

                                                                  {$IFNDEF ADSDELPHIXE8}

                                                                 

                                                                     {$DEFINE ADSDELPHI10SEATTLE_OR_NEWER}

                                                                     {$IFNDEF ADSDELPHI10SEATTLE}

                                                                        {$DEFINE ADSDELPHIBERLIN_OR_NEWER}

                                                                           {$IFNDEF ADSDELPHIBERLIN}

                                                                           This version of Delphi/C++Builder is not yet supported!

                                                                        {$ENDIF}

                                                                     {$ENDIF}

                                                                  {$ENDIF}

                                                               {$ENDIF}

                                                            {$ENDIF}

                                                         {$ENDIF}

                                                      {$ENDIF}

                                                   {$ENDIF}

                                                {$ENDIF}

                                             {$ENDIF}

                                          {$ENDIF}

                                       {$ENDIF}

                                    {$ENDIF}

                                 {$ENDIF}

                              {$ENDIF}

                           {$ENDIF}

                        {$ENDIF}

                     {$ENDIF}

                  {$ENDIF}

               {$ENDIF}

            {$ENDIF}

         {$ENDIF}

      {$ENDIF}

   {$ENDIF}

{$ENDIF}

   // We need to define MSWINDOWS for Delphi 5 and lower

{$IFNDEF ADSDELPHI6_OR_NEWER}

   {$IFNDEF MSWINDOWS}

      {$IFDEF WIN32}

         {$DEFINE MSWINDOWS}

      {$ENDIF}

   {$ENDIF}

{$ENDIF}

Former Member
0 Kudos

Stephan,

Many thanks. That should be very helpful. I'll give it a try very soon. Naturally, I have to wait for other libs to become available for Berlin, but ADS is by far the top priority.

Thanks again!

0 Kudos

Howard,

My pleasure. I'm in the same situation (third party libraries).

Regards,

Stephan

Former Member
0 Kudos

Hi Mr. Haslaman,

any news for Delphi 10.1 support for TDataSet 11 and 12?

It seems (hints from Mr. Dürr) it's not difficult to create the ADS components for a new delphi version. Why we have to wait for such a long time to an update? Many other 3rd party tools are ready to install in Delphi 10.1. What are the problems for SAP?

Best regards

Hendrik Albat.

Former Member
0 Kudos

Unfortunately, this seems to be an ongoing issue with ADS that goes back many years, even long before SAP acquired Sybase. I / We have learned that it's pretty much hopeless to expect an "official" release of an updated ADS until it's nearly time for another Delphi release. I've had to completely skip a Delphi release or two for that very reason.

With every other vendor's library that I use, and I use several of the best, it seems that they have support for the latest Delphi release within days, maybe a week, of Embarcadero announcing the new Delphi. With the resources that SAP must now have available for acquired Sybase/iAnywhere products, I just really don't get the immensely long delays.

It's extremely frustrating. I can only guess that SAP knows it would be a gargantuan effort to rebuild thousands of applications around a different DBMS, so they'll get around to it when they get around to it. Somehow I feel that the big SAP products like HANA, etc. don't suffer this problem. Makes you wonder why they acquired Sybase in the first place.

joachim_drr
Contributor
0 Kudos

there are less ressources on ADS since SAP acquired it.

Former Member
0 Kudos

Hello, Joachim,

What can anyone say about that, other than WOW! I can only guess that doesn't bode well for the future of ADS. As much pain as it will cause to me, and other developers who've relied on ADS for many years, this could definitely be the writing on the wall. I don't really understand it, other than there just must be far fewer ADS developers than I would have thought. I guess I had better start looking for alternatives immediately. Won't be easy...

Former Member
0 Kudos

I just installed Berlin and was wondering if you have the steps necessary to install the ADS components? (I have been looking for the Dr Bob article you referred to, but cannot seem to locate that.) Perhaps you are about to release 11.2 that includes Berlin?

Thanks in advance.

Rick

Former Member
0 Kudos

Hi, Rick,

I could be totally wrong, but it seems that you haven't perused this thread before asking your question. If you scroll up and take a look at some of the prior posts, you'll see that it's highly unlikely that any of us ADS customers will see an "official" update specifically for Berlin, and particularly, not for v11.x. The ADS roadmap that you can find lurking somewhere on the site is pretty clear that no one with versions prior to 12.x will see support for future versions of Delphi.

Every day, I convince myself more that, after so many years of successful coding with Delphi and ADS, it's time to move on. Waiting and wondering constantly is no way to feel confident about the tools we're using to get our own work done.

Former Member
0 Kudos

Hi Howard,

Thank you for your response. Yes, I did read this thread before I posted. Mr. Durr stated that he would try and post the steps necessary to upgrade to D10.1. I was just attempting to nudge Mr. Durr into getting those steps posted. (If anyone else has it working, I would love to know how you did it.)

I see that I might be able to get around this using FireDAC, since it has an ADS option. However, I would prefer to use native ADS components since my applications have it splattered throughout the code.

Advantage is definitely more stable than the Paradox (a.k.a. BDE) tables ever were, and I have been using Advantage for a long time now. In your opinion, if you had to go to a different database desktop platform from Advantage, what would it be? (I really do not want to impose SQL Server on everyone because of the lengthy and sometimes difficult SQL Express install.)

Rick

Former Member
0 Kudos

Rick,

First, I hope I didn't offend by making assumptions.

>> I see that I might be able to get around this using FireDAC, since it has an ADS option...

I've not looked into FireDAC much (that may change soon), but wouldn't any support for ADS in FireDAC carry the same dependency on current version support from SAP? I really don't know.

As for what I might consider switching to, it would be a huge problem. The main reason I selected ADS so many years ago was its continued support of the Visual FoxPro file format. I have clung desperately to that format because of the totally awesome combination that Delphi, ADS, and VFP make in every single one of my development efforts. The value in the ability to utilize VFP to manipulate vast amounts of data via an interpreted command-line interface (that I've know since the days of dBase), is incalculable. Maybe you can imagine my glee when I realize that a data field (or a few) in a ADS table needs to be tweaked just a little to provide a better result in my Delphi application. In under five minutes, I can simply open the table in VFP, enter (many times) a single command, and voila, I've modified the field(s) in the entire table exactly as desired, and then can immediately run my Delphi application against that new dataset. I may be living in the past, but I can't think of any other two DBMS products that are able to work together to provide that kind of productivity. I would have loved to convert tables and databases to take full advantage (excuse the pun) of the proprietary ADS file format, but I can't possibly count the number of times that VFP has totally saved me in a data crisis moment. The Advantage Data Architect is a great tool, but when using the VFP file format, it can't accomplish a fraction of the work in even a ten-fold increase in time. Maybe SQL et.al. is the answer but I need someone to explain it to me. I admit freely to being an "old dog" in that regard. Oh, and did I mention that the now ancient VFP still works great, even on Windows 10? Who-da thunk?

The fact is, if the dBase 10 Plus product had even a tenth of the UI building capabilities of Delphi or Visual Studio, that would be my goto database application dev tool. If, if, if, .......

Sorry, didn't mean to lament the "good ol' days" to such a degree. Maybe it's time to retire; but I really love the work. What's an ol' dog to do?

Former Member
0 Kudos

Howard,

No offense was taken. No worries.

I hear ya on the ol' dog. Been writing code since the late 70's myself. I am just grateful that it still isn't on punched cards.

I have not done anything with VFP; I just started with the BDE back in the Borland Pascal days and migrated to Advantage, mainly due to BDE shortcomings. (And tables breaking left and right.) I have messed around with SQLite, but am not impressed. It seems like a big step backwards. I use MySQL for accessing my website databases, and that works OK.

I hoping that ADS doesn't die. If SAP does not want to take care of it any longer, then they should put it out as open source. With all of the code that Embarcadero has acquired, maybe they will snap it up. (I find it interesting that Delphi Berlin includes the old TurboPower Orpheus and Abbrevia products in the Getit Package Manager. I still use those!)

Anyway, if anyone can provide the steps necessary to get ADS to work on 10.1 Berlin, it would be appreciated.

Rick