Hello,
I'm new to ExtPascal.
I just have Delphi 7 and Lazarus/FPC.
I tried to compile r819 (ExtPascalSamples) on Lazarus 1.0.14 with fpc 2.6.2, on Ubuntu 13.10 (AMD 64bits).
FPC and Delphi 7 doesn't support types like TArrayOfString in array constructor.
So I wrote two small functions to convert them into array of variants, which are accepted by FPC and Delphi 7:
function VarArray_from_TArrayOfString( _a: TArrayOfString): Variant;
function VarArray_from_TArrayOfInteger( _a: TArrayOfInteger): Variant;
The unit ExtForm is missing, so i had to comment out severals lines in ArrayGrid.pas, BorderLayout.pas, EditableGrid.pas, FileUpload.pas and SimpleLogin.pas.
Then I could compile ExtPascalSamples. I got an exception in ExtPascal.pas because TExtThread.GetSequence is called on a nil reference. I imagine it comes from the creation of ExtUtilTextMetrics in the initialization clause of unit ExtPascal, before the thread is created in ExtPascalSamples.dpr.
I didn't go further for now, even with this modifications ExtPascalSamples collapses without running.
For TArrayOfString / TArrayOfInteger, I imagine the best will be to modify ExtToPascal.dpr, in order to replace the calls with something like
{$IFDEF FPC}
'VarArray_from_'+ArrayType+'('ArrayName')'
{$ELSE}
ArrayName
{$ENDIF}
where ArrayName is a string with the original name of the parameter like 'Cls'
and ArrayType is a string with the type name of the array like 'TArrayOfString' .
I join the diff file for my modifications generated by Rabbit SVN. (I also removed the UnitOutputDirectory in project options which was pointing on "c:\..." )
I hope this helps.
Yours sincerely,
Jean SUZINEAU