Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 2015-06

Is Lazarus FPC compatible to RAD XE5?

10 messages · 4 people ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Bo Berglund

I am seeking an alternative to the Embarcadero RAD studio XE5 and I would like to know if a Delphi application developed with D6-D7-BDS2006-XE5 could be loaded and built in Lazarus? The application uses only standard features existing in the older versions of Delphi plus a couple custom components like an RS232 component (AsyncPro) and graphics (GLScene).
It is only VCL based for Windows32 (even though it would have been nice to compile it for Win64 to use a larger memory. The primary function is processing of tomographic data (lots of math) and display of the results using GLScene.
The bulk of the math is implemented in 3 DLL files developed in Fortran(!), but these are standard interface DLL functions. No database stuff at all is involved.

I moved it to XE5 about 6 months ago to make use of Unicode for the GUI and user messages (display in foreign languages even Chinese).

Is it possible or is it going to be an uphill battle for a long time?

Bo Berglund Developer in Sweden

Reply by email

Sandro Cumerlato
to Bo Berglund

Hello Bo,
there are several software examples listed here:

http://wiki.freepascal.org/Lazarus_Application_Gallery

As you can see it is possible to develop any kind of software with Lazarus, and the software description you provided does not preclude its implementation with it.

Best regards,
Sandro Cumerlato

Bo Berglund wrote 29 lines
I am seeking an alternative to the Embarcadero RAD studio XE5 and I would like to know if a Delphi application developed with D6-D7-BDS2006-XE5 could be loaded and built in Lazarus? The application uses only standard features existing in the older versions of Delphi plus a couple custom components like an RS232 component (AsyncPro) and graphics (GLScene). It is only VCL based for Windows32 (even though it would have been nice to compile it for Win64 to use a larger memory. The primary function is processing of tomographic data (lots of math) and display of the results using GLScene. The bulk of the math is implemented in 3 DLL files developed in Fortran(!), but these are standard interface DLL functions. No database stuff at all is involved. I moved it to XE5 about 6 months ago to make use of Unicode for the GUI and user messages (display in foreign languages even Chinese). Is it possible or is it going to be an uphill battle for a long time? -- Bo Berglund Developer in Sweden -- _______________________________________________ Lazarus mailing list http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply by email

aradeonas
to Sandro Cumerlato

Hi,

If you are asking about just opening project and every things goes well no its not,depend of project size you should spend time on making it work with Lazarus,but Lazarus has convert tools that make your work easier.

About components I dont know them maybe others can help you but there should be replacement or Lazarus port,Just search them,any way its not very hard to make them work.

About Unicode Lazarus support it has many utf8 functions.

Summery is yes there is a big chance your project will compile with Lazarus with some work,if you have a good reason for it just begin it and devlopers here will help you.they are always a BIG help for me. Regards,
Ara

http://www.fastmail.com - Send your email first class

Reply by email

Bo Berglund
to aradeonas: If you are asking about just opening project and every things goes well no its not,depend…
aradeonas wrote
and devlopers here will help you.they are always a BIG help for me.

One of my main resons for searching for an alternative is the complete lack of support on the Embarcadero products. Onece upon a time when Borland ran the show things were different, there was a *working* news system later converted to both web forum and news at the same time. Here one could get quick P2P help and occational help from Borland staff too.

Now since more than a year the forum/newsserver is completely trashed. It is on line maybe5-6 hours a day and only about 5 days a week. One never knows when it goes away. :(
And because of this the number of active members is dwindling a lot... Right now when I write this it has been off for 2 days.

So this statement of yours about P2P help is really very promising!

When you talk about conversion tools, is there also some form of dproj project file conversion utility?

That would really help a lot, because the project files in the XE series (dproj) are very hard to understand compared to the old dpr files, even RAD XE(N) cannot completely convert/read a dproj from XE(N-1) or earlier. It pretends to do so but the result does not work as intended very often.

So I had to start a new VCL project when I did the Unicode conversion (UTF8 is what I used) and then add all the sources to that project and set the various properties like search paths and such manually...

In the end it did work whereas the autocreated dproj from opening the old projct file never did.

I will have a look around here and see what gives, I was here back in 2005 and again in 2010 but those times for other reasons, mainly to try to create multi-platform programs (Windows, Linux and Arm embedded).

Bo Berglund Developer in Sweden

Reply by email

aradeonas
to Bo Berglund

Yes,here and mailist are active.

About dproj I didn't see it,just dpr but as I remember all Delphi projects have a dpr but I didnt convert much,take a look at Tools/Delphi conversion in Lazarus main menu and also you should search and if you didn't find ask is a separate mail in forum or here.

Regards,
Ara

http://www.fastmail.com - Send your email first class

Reply by email

Juha Manninen
to Bo Berglund: On Sun, 14 Jun 2015 00:55:35 -0700, aradeonas One of my main resons for searching for an…
Bo Berglund wrote
When you talk about conversion tools, is there also some form of dproj project file conversion utility?

No but the .dproj file does not have much useful information for a Lazarus project anyway.
I think it has the project search paths. They are needed in Lazarus only if your project's unit files are in subdirectories. They must NOT be used for library code. Lazarus package system takes care of that.

A related issue are the global search paths in Delphi. They are commonly used for components and libraries which are used by many projects. This breaks the idea of modular design and pollutes the namespace, and prevents compiling projects in different machines without first configuring Delphi's global path.
I think even Borland wanted to change that but they didn't for backwards compatibility.
Lazarus does not have global search library code
should be in a Lazarus package. A project or another package can then depend on that package. The package "injects" its own source paths to the master project/package. No ugly path configuration is needed, never!
Lazarus IDE remembers any package that is has once opened. The package is then used when needed without extra configuration.

So I had to start a new VCL project when I did the Unicode conversion (UTF8 is what I used) and then add all the sources to that project and set the various properties like search paths and such manually...

Do you use UTF-8 with XE Delphi? Why? It triggers conversion between UTF-8 and UTF-16 at every assignment.

I can recommend the new UTF-8 support in Lazarus for you because you only start converting now:
http://wiki.freepascal.org/Better_Unicode_Support_in_Lazarus It is almost compatible with Delphi even though the encoding is different. It requires now development version of FPC but they will release 3.0RC1 soon. Thus you can ignore Unicode issues now and return to them when your conversion works otherwise.

So, what the does the automatic conversion (in Tools menu) say?

Juha

Reply by email

Bo Berglund
to Juha Manninen
Juha Manninen wrote 7 lines
On Sun, Jun 14, 2015 at 12:23 PM, Bo Berglund wrote: > So I had to start a new VCL project when I did the Unicode conversion > (UTF8 is what I used) and then add all the sources to that project and > set the various properties like search paths and such manually... Do you use UTF-8 with XE Delphi? Why? It triggers conversion between UTF-8 and UTF-16 at every assignment.

We have developed a couple of components for handling the translation of our applications into different languages. The languages are defined by ini file formatted text files and before my conversion these were just plain ini files accessed via the TIniFile class.

But for Unicode I use a different subclass of TCustomIniFile, namely TMemIniFile and it has (now in XE) an optional Create parameter that sets the encoding of data in the file. Here I use UTF8. But internal to the application the texts are in strings, which now means Unicode strings since Embarcadero simply redefined what type string means. So only when reading in the language strings into the internal arrays will there be any conversion.

This brings to mind these components for language handling:
- One on each form which will have its GUI texts managed
- Another in a data module to handle the complete application
- A 3rd type also on the data module to handle non-GUI texts, which are sent by code to message boxes and dialogs or written on graphics etc.

These components need to be possible to use in Lazarus/FPC as well.

So, what the does the automatic conversion (in Tools menu) say?

I am now investigating if it is likely I could do this and I have not yet installed Lazarus. The computers I used back in 2005 and 2010 are long gone...

Bo Berglund Developer in Sweden

Reply by email

Juha Manninen
to Bo Berglund
Bo Berglund wrote
I am now investigating if it is likely I could do this and I have not yet installed Lazarus. The computers I used back in 2005 and 2010 are long gone...

You don't need computers from 2005. Just install Lazarus and do : Tools -> Delphi Conversion -> Convert Delphi Project to Lazarus Project ... It is the best way to investigate.

Juha

Reply by email