Creating Java objects: Error -105107 Data type is not supported by Java interface.
You may receive a subject error or a similar one (Error -105104 Undefined constructor) while trying to call a method with a JAVA class as a parameter in 4GL program:
Compiling file 'test.4gl'Executing command:
"C:\Program Files\Querix\Lycia/bin/qfgl" --xml-errors -d informix -o "C:\Users\user\workspace\qx\output\test.4o" -e UTF-8 "C:\Users\user\workspace\qx\source\test.4gl" --check-kw
in working directory C:\Users\user\workspace\rfhgfh\source
Executing command finished. Exit code: 1
<problem><tool name="qfgl"/><source file="C:/Users/user/workspace/qx/source/test.4gl" first_line="9" last_line="9" first_column="15" last_column="42"/><error><code>-105104</code><message>Undefined constructor.
com.querix.dynamicreport.core.TestDynamicReport(com.querix.dynamicreport.report.TestReport)
</message></error></problem>
Compilation failed
Possible solution
Create an additional variable (
s_class
in below example) of thejava.lang.Class
type and assign your java class type to itlet s_class = s.getClass()
Use this variable as a parameter for the method to which you want to pass a java class:
import java com.querix.dynamicreport.report.TestReport
import java com.querix.dynamicreport.core.TestDynamicReport
import java java.lang.Class
function test()
define s com.querix.dynamicreport.report.TestReport
define report TestDynamicReport
define s_class java.lang.Class
let s = TestReport.create()
let s_class = s.getClass()
let report = TestDynamicReport.create(s_class)
end function