Clarion 9 New Dict tables and Unresolved External reference

I have solution that includes 14 dll’s and exe. I created 2 new tables and then in one of the APP’s I added a new procedure with two list boxes. I populated the list boxes as you normally would added some other buttons and stuff. When I make this I get UNRESOLVED EXTERNAL REFERENCE on the two NEW tables. Other tables in the same APP are fine, some used in a list box as well.

No luck so far in figuring this out.

One thing I noticed in the dictionary (a few dozen tables) NOT SURE IF THIS IS REVELANT. One table and one alias are shown with the prefix surrounded by parens, these have been like this forever I just noticed. NOW THE TWO NEW tables I just created, with unresolved external, both have the Prefix name surrounded by parens. As in “MyTable (PreMyTbl)”. None of the other tables in my dictionary are shown this way except for the other two.

Any thoughts on why the Prefix has parens, when 99% of the other tables DO NOT.

One of your DLL’s should be your “Data” DLL that exports your Files from your DCT. The new tables needs to be in that Data DLL and Exported i.e. in the EXP file.

Three ways that usually happens:

  1. Global Properties, Actions button, File Control tab “Generate All Files” is checked,
  2. Global Properties, Actions button, Individual File Overrides tab has “Generate” box checked
  3. You have the files listed as used on a Procedure

You can look at the Data DLL .EXP file or main module AppName.CLW and verify you can find your new file names.

Thank you! I have not been doing a lot of new development in Clarion, it’s been maintenance only the last 15 years. I converted Clarion 6 to Clarion 9 and have not gotten through the IDE learning curve. I did find that Generate All Files was unchecked. So that was the issue. I also looked at the previous Clarion 6 code and it was turned off there as well. Likely, switched that years ago and forgot.

Also, can you tell my why a few tables in the dictionary have the Prefix label surrounded by parenthesis.

Paste a screen shot including with and without.

That’s an easy fix, but it may add some bloat of files not needed. You could check by comparing the Data Dll AppName.clw to the prior .clw to see what FILE declarations got added.

Generate All unchecked makes me think the files list was being carefully controlled. I often do that. The lean fix would be to instead add Individual File Overrides for the 3 News files.

The way I usually control the file list is to add Source Template procedures that just list the files I want compiled in. I find that easier. You could look for that pattern if you didn’t find your current files in the Overrides.

As Bruce says show a picture or code snip…

I would guess it’s a mistake. Somethings in the IDE do require entering parenthesis like Procedure Prototype and Parameters, but not Prefix.

Thanks for the tips. I’ve been in C and Linux the last 10 years so it’s a slow go getting back to this. I just printed a lot of the manuals, Friday, so I can get some refresh on managing code and misc tech topics.

Can’t explain this. After I turned on “Generate all file definitions” and recompiled. I opened up the Dictionary and the parenthesis that were around the Prefix on those few tables disappeared. So in the table list in left window pane. . .

TableA (TableAPrefix) now just shows TableA
TableB (TableBPrefix) now just shows TableB

The (prefixname) disappeared from the other two tables a well.

Must be some product of the IDE and interactions that are not really relevant to anything.

This pic is from left pane in Clarion 9. GloFiles.app is open and the Classes tab is clicked showing all the tables selected for the application.

Notice the 4 tables with (prefix value) shown. The tables in this pic have prefix: like StateCodes table prefix “StateCode”, yet the prefix does not show in parenthesis.

I have searched for differences or reasons and have found none.

In your dict do those tables have a Description entered?

Yes. ZipCodeSt is an alias with no description. The other three have descriptions as does the ones with no (prefix).