[Lazarus] Porting GExperts

Kenneth Cochran kenneth.cochran at gmail.com
Fri Apr 18 16:43:29 CEST 2014

I am attempting to port GExperts to Lazarus. For those that don't know
GExperts is probably the most well known IDE extention for Delphi. So far
I've spent most of my time fixing various compile errors but I've run into
a road block.

GExperts uses a type alias called  TGXUnicodeStringList that maps to either
TStringList or SynUnicode.TWideStringList depending on whether UNICODE
compiler symbol is defined. UNICODE is defined in any version of Delphi
from 2009 onward. In these versions the String type is an alias for
UnicodeString so TStringList supports unicode strings by default.

Either case presents a problem. The Delphi TStringList depends on the
TEncoding class, which so far doesn't exist in the FCL/LCL. I think
SynUnicode.TWideStringList could potentially work in Lazarus but the
SynUnicode unit pulls in a lot of other SynEdit related units that have not
been written with free pascal in mind. I know there has been talk of
porting unicode SynEdit to free pascal but I don't know if there's been any
movement in this direction and I'm not really interested in taking it on

TGXUnicodeStringList is used in a lot of different places in GExperts. I
haven't finished examining all it's uses but I'm fairly certain not all of
them require unicode support and it was used solely for consistency.

The way I see it I have two choices:

   1. Remove the unicode dependency from GExperts entirely. This would
   pretty much destroy any chance of my port ever being merged back into the
   main project. That's a door I'd like to keep open if I can.
   2. Find a suitable string list that already supports free pascal. Is
   anyone aware of one?

If anyone has any other suggestions I'm all ears.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20140418/dc5a8635/attachment-0002.html>

More information about the Lazarus mailing list