Data error when moving between C6.3 and C11

Hi everyone,

We are upgrading a program from C6.3 to C11. I’ve converted all the dictionaries etc into a new format, and most of the program is fine, all the data we encountered up to this point has converted without issue.

We have one set of tables (a licence controller) in a password-protected Topspeed format which isn’t working correctly - it works fine in the old programs, but the code returns error 2 (file not found) for all but one of the tables in the file when run on C11-compiled code. Using C11 Topscan the first table is available to view, but the others return a generic invalid data message. the C6.3 Topscan works fine.

I’ve cross-compared the dictionaries for changes and can’t find any, I’ve even tried removing the indexes and other items, to no avail.

Has anyone encountered this? Any suggestions? At the moment I can only think to write up a utility to try and convert the data, but this is a bit of a faff.

It’s been a while since I used TPS, but I seem to remember something weird about C10/C11 topscan when it came to the existence of an “UNNAMED” table inside a TPS. Maybe you could temporarily try renaming UNNAMED to a different name within TopCopy and then see if you can open it in Topscan.

Just a thought.

Here’s an excerpt from my PTSS 41088 about it:

Hi Bob - I think it has to do with whether or not there’s an ‘UNNAMED’ table in the TPS file. The attached file was working fine UNTIL I added a new table without explicitly naming the superfile. e.g., the NAME() attribute contained only ‘svtest.tps’ instead of ‘svtest.tps!superfile’ The OWNER id for the attached file is ‘clarion’

Thanks for the reply jslarve - it was very helpful, although not the exact cause.

It seems that by using multiple tables within a password-protected file we ended up with a situation that C11 (rightly or wrongly) can no longer deal with.

The fix was to split the files out into individual TPS files each with their own password, or copy it into another file and remove the passwords.

In this case the C11 version of TopCopy couldn’t access the file properly, so we had to use the old C6.3 version.

I wonder if using 6.3 Topcopy to rename “UNAMED” would have “fixed” the issue in C11.

Glad you got it sorted, anyway.