Informix Error -16352: File filename has been modified. (.4gl is newer than .4go).
Cause and resolution
File filename has been modified. (.4gl is newer than .4go).
The Debugger executes the .4go module, but it displays lines from the .4gl source file. Because the source file has been changed since the module was compiled, the lines that the Source window displays might not correspond to the statements in the compiled program.
If you change the source code in a .4gl file, you must recompile it. If your program includes several modules, you must also concatenate the compiled modules before you start debugging. Also check if files exist with both the .4go and .4gi suffixes for this program. Even if your .4go file is the appropriate recompiled version, the Debugger first attempts to interpret the .4gi version.
Oninit® Troubleshooting Guidance
Reasons / Common Causes
-16352 fires when a .4gl source file is newer than its compiled .4go module — per the
official guidance. The Debugger executes the .4go module but displays lines from the
.4gl source, so the displayed lines might not match the compiled statements.
- The
.4glsource edited since the.4gomodule was last compiled, per the official guidance — the direct, only cause.
Solutions / Resolution
- Recompile the
.4glfile, per the official guidance. - If the program has several modules, concatenate the recompiled modules before debugging, per the official guidance.
- Check whether both
.4goand.4gifiles exist for this program, per the official guidance — the Debugger tries the.4giversion first, even if.4gois up to date.
Examples
Checking for stale compiled output
$ ls -la myprogram.4gl myprogram.4go myprogram.4gi
Diagnostic Checks
- Compare the
.4gl/.4go/.4gifile timestamps, and recompile/re-concatenate as needed.
Related Errors / Related Topics
No closely related error codes are cross-referenced for -16352 in this set yet.
The .4gl source is newer than the compiled module — recompile it (and check for a stale
.4gi file taking precedence).