Procedure doesn't belong to module: SETUPREALSTOPS - Acsca_SF.CLW

Error: Procedure doesn’t belong to module SETUPREALSTOPS - C:\C11APPS\AcctgCC\acsca_SF.CLW:25

I searched ClarionHub and did not find this error so thought I would document it with pictures. I know I’ve seen it before but could not recall the fix. I tried recovering from backup and tried an App Pad unconditional compile. I did not try a Clean.

When I have a build problem I usually look at the Project.FileList.XML in Obj\Debug or Release. It showed the RD RU SF files twice, once with short names.


The Solution view also showed the extra files.


Deleting the short name files in the SLN pad fixed the problem. I checked the machine that I think caused the problem and it had LFN checked in APP Options. It was an older Clarion release that the others, so that may have caused the problem.

IMO what often happens is the #project inside in the APP gets out of sync with the CwProj file. To fix that I usually Export to TXA, delete all files (move to Save Folder) and import the TXA which creates the CwProj from the APP. Then review and adjust the Project. You can compare the new CwProj file to the one in the Save Folder to spot changes. I did not try that in this case but I think it would fix it.

Searching the web for the error did find some results that suggested the fix is deleting files from the Solution pad. This one from @Bruce is the best.

It means the compiler found a procedure (UpdateReseller etc) in the eCost005.clw module, and it wasn’t expecting it to be there (because it’s not in the map.)

possible reasons;
a) your IDE has changed from long file names to short file names, or vice versa, and now there are extra modules in the Solution (which should not be there). Check the solution (not the app) and remove any modules that should not be there.

b) the eCost005.Inc file did not generate right. Delete the INC and CLW’s for this eCost005 and get the app to generate again.

c) the eCost005 module is not a regular Clarion generated ABC module. Check the module settings for this module and make sure it hasn’t changed to a different module type (like Object Writer.)