Hi Jonas!
Thanks by your feedback. Do you think that should I fill a bug report?
The datatype that throws this error is this (cef3types.pas:2416):
TCefCompositionUnderlineArray = array[0..(High(Integer) div
SizeOf(TCefCompositionUnderline)) - 1] of TCefCompositionUnderline;
The TCefCompositionUnderline is a record with 20 bytes of size (5x32 bits fields/vars into this record). So only this var exceeds this limit on 32 bits systems.
The error is throw on this procedure, in cef3ref.pas:1574
procedure TCefBrowserHostRef.ImeSetComposition(const text: ustring;
underlinesCount: TSize;
underlines: TCefCompositionUnderlineArray; const replacementRange,
selectionRange: TCefRange);
I think that 2GB on 64 bits a very conservative limit.
Jonas, do you remember the revision number where this was changed?
Jonas Maebe wrote 22 lines
On 07/03/2019 21:32, Fabio Luis Girardi wrote:
> I'm trying to use the FPC 3.2.0 beta + Lazarus 2.0.1 with fpCEF3. But
> when I try compile this package with FPC 3.2.0 I got this error:
>
> Error: Local variables size exceeds supported limit
>
> But the same package compiles fine with FPC 3.0.4 and 3.0.5.
FPC 3.2.0 limits the total size of local variables and parameter space
for a single procedure/function to 2GB on 32 bit and 64 bit targets. On
FPC 3.0.4 the limit was the maximum size supported by the address space.
The previous size check for the locals was not working correctly
according to the commit message, but I don't know why this was changed
like that for 64 bit targets.
Jonas
_______________________________________________
fpc-pascal maillist -
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal