Hi,
Using the latest stable I get a lot of java.lang.VerifyError on methods using Word, probably other unsigned types too:
Fatal exception of type java.lang.VerifyError on thread 0001 ()
!> Message: (class: consoleapplication17/__Global, method: convertLASColor signature: (S)I) Accessing value from uninitialized register 1
Exception in thread "main" java.lang.VerifyError: (class: consoleapplication17/__Global, method: convertLASColor signature: (S)I) Accessing value from uninitialized register 1
A simple test case :
namespace consoleapplication17;
uses
remobjects.elements.rtl.*,
java.util;
interface
type
Program = class
public
class method Main(args: array of String): Int32;
end;
implementation
function convertLASColor(
const _r : Word
) : Cardinal ;
var
r : Word ;
begin
r := _r ; // < - problem
exit r ;
end ;
class method Program.Main(args: array of String): Int32;
begin
var c : Cardinal := convertLASColor(1);
writeLn(c);
end;
end.
Other our functions having local Word (or other unsigned types) variables also fails to run when the assignment occurs. More local variables, more register errors:
...Register 7 contains wrong type
Changing them to Integer works, but it’s not a solution (multi-platform code) and Word worked before.
Please fix.