Use Context.setProperty(“model-as-emf”, true) once (before writing model graphics to the report)
Open other databases using ArisData.openDatabase()
Save memory by using Database.clearCaches()
Use it where it makes sense (after using many objects that are not needed any more afterwards).
Clean up after an error! especially
Always use try/catch for error handling. You can report detailed error logs to the user using the following code
try {
your code which might throw exceptions
}
catch(ex) {
var line = ex.lineNumber
var message = ex.message
var filename = ex.fileName
var exJava = ex.javaException
if(exJava!=null) {
var aStackTrace = exJava.getStackTrace()
for(var iST=0; iST<aStackTrace.length; iST++) {
message = message + “\n” + aStackTrace[iST].toString()
}
}
Dialogs.MsgBox(“Exception in file “+filename+”, line “+line+”:\n”+message )
}