[Lazarus] Help needed for conference...

Mehmet Erol Sanliturk sanliturk at ttmail.com
Wed Oct 14 02:52:16 CEST 2009


Geoffray wrote:
> Le lundi 12 octobre 2009 21:23:50, Graeme Geldenhuys a écrit :
>>>  And under no circumstances promote '1 source for both Delphi/Lazarus'
>>>  because that is a recipe for problems :(
>> Definitely NOT!  That is a nightmare to try and maintain.
>>
> Ok I was nearly sure of that, but if someone ask me for coordination method... 
> In an other word, is there any simple way to coordonate Delphi and Lazarus 
> version of the same source ?
> 
> Maybe a tool using diff api or something like that.



When a source is compiled for console application , with respect to my 
experiences there is no much difference between Free Pascal and Delphi .

The important difficulty is caused by GUI parts of the programs .

The following idea may be tested for applicability ( I did not applied 
it myself yet , but this is the my next step to try ) .

Assume you have a BIG Delphi program and you want to compile it with 
Lazarus due to its GUI structure .

By using Lazarus , re-generate forms as much as possible .
In Delphi , convert parts to procedures ( or functions ( personally I am 
NOT using function because their maintenance is really very difficult ) 
) unrelated to GUI parts as much as possible ( for example , checking 
the validity of contents of a string , computation of some formulas from 
some values , etc. )  . Call those procedures from Lazarus generated 
forms . At the end there will be GUI-independent procedures and 
GUI-dependent forms . Since forms are generated by Lazarus , they will 
be cross-platform and they will not depend on Windows unit ( We are 
assuming that GUI-independent procedures does NOT depend on Windows unit 
) , they will be compilable and usable on platforms supported by Lazarus .

In that way , the total job is divided into three parts :

  - Maintenance of GUI-independent procedures ,
  - Maintenance of Lazarus forms .
  - Maintenance of Delphi forms .

Trying to compile a source written with Delphi specific features by 
Lazarus by using ifdef-else directives to distinguish Lazarus and Delphi 
specific parts is to generate a source which is a nightmare to maintain 
. To avoid such a structure I am thinking seriously to write 
Windows_for_Unix and Windows_for_Linux units from scratch . I think this 
is much easier than to maintain a source described above .


Thank you very much .

Mehmet Erol Sanliturk







More information about the Lazarus mailing list