New to Clarion : How to create a template to start the solution

Can’t help feeling they’d be better off running Clarion 5 in a virtual machine to ‘understand the language’ - that way they’d be able to open the .HLP files and get help that is correct for the version they’re using.

Presumably they’re only working like this ie Clarion8V5 because they have old APPs to support?

Check what .RED file is being used to locate the TPW files.
If you’re using a ‘version’ then it will use the redirection specified in Tools - Options - Clarion - Versions - Redirection File tab.
When you’re using the Clarion 5 templates it won’t be looking in \Clarion8\template\win because that’s where the Clarion 8 templates live not the Clarion 5 files.

Live hand-holding on basic setup like this is a great thing to bring to the free weekly ClarionLive Wednesday webinars.

Sign up for the “Open” webinars here: https://www.clarionlive.com/

Sure, we tried last week but couldn’t get a chance, will put this again tomorrow. Thanks for the heads up.

Jeff - I just checked the PTSS and I can’t find reference nbr 38293. It goes from 38291 to 38294, at least for any way I look at the list. Is that item still there?

Thanks!

Well I did manage to get a Clarion 11.1 Build 13768 / Clarion 5.5 PE set of templates to register and I’m able to create an APP but can’t get an EXE to be made.
In both Clarion and ABC I get errors stating
‘The filename, directory name, or volume label syntax is incorrect’
even though the files are there and can be opened via the redirection.

FinalErrors

It rings some bells but can’t find anything in the newsgroups that cover it - tried changing folders (shortening the path) to no avail.

Same type of errors in Legacy can’t find/open C55Test_RU, C55Test_RD etc etc

Couldn’t it be long filename issue?

Tried creating an APP named ‘CLA’ and still the .OBJ files aren’t being created.
Tried changing the .RED file so that the .OBJ .RES etc files are created in a subfolder of the APP folder /Objfiles (which works for both Clarion 9.1, 11.0 and 11.1) and still the same thing - no .OBJ files created - only files in the \Objfiles folder are CLA.EXP and CLA.SHP

ShortNames

Here is Alexey’s reply:

Templates do generate wrong LIBRARY and NAME directives in the EXP file: they put the name of executable into single quotes rather than correct double quotes. Plus, the linker from C55 not supports building of executables with spaces in the name. Therefore it takes name of executable from the NAME/LIBRARY directive as is. The linker in C6 and further CW versions supports names of executables with spaces and handles wrong directives generated by templates. C7/C8 in C55 mode is using the linker from C55 and thus incorrect name is writing into executable’s PE header. Possible workarounds: - Take the linker from C6 (C60LPEX.DLL), rename it to C55LPEX.DLL, change the name of the DLL in the PE header to C55LPEX.DLL using any hexadecimal file editor, copy this DLL to the BIN directory of C55 - If your EXE/DLL has no spaces in its name, just edit ABBLDEXP.TPW from C55 by removing single quote characters around executable’s name in generating NAME and LIBRARY directives (BUILDEXP.TPW is looking as correct).

1 Like

That’s one of the issues, but I think the C6 linker helps with that, as mentioned in my Alexey quote.

OK, replaced the C55 linker with the one from Clarion 6.1 ie C60CLWX renamed to C55CLWX.DLL
Compiled and lots of errors re the ERRORCODE function not being found.
Added line to BUILTINS.CLW for ERRORCODE ie

ERRORCODE(),SIGNED,NAME(‘Cla$ERRORCODE’)

Now no errorcode errors and .OBJ files are created correctly.
Single remaining error on CLA.LNK file not being created/found

LNK_Error

Will try what Jeff posted tomorrow :slight_smile:

1 Like

Well after copying/renaming/modifying both the Linker and Compiler ie C55CLWX.DLL and C55LPEX.DLL as above and modifying a whole bunch of template and libsrc files I can now create a non-AppGen EXE

Creating an AppGen EXE or DLL in ABC or Legacy still fails however with unresolved external errors eg

Unresolved External __thr_inst0

Guessing this is to do with the threading changes?
Leaving it now as it seems a pointless exercise really.

1 Like

Hi Graham - For what purpose did you copy/rename C55CLWX? I don’t think that one had an issue.

Hi Jeff - that was before you posted Alexey’s comments and I mistook the compiler for the linker.
I guess your PTSS must be marked private as it can’t be found?

Doesn’t make any difference - putting the C55 original compiler back in there still leaves me with unresolved external errors when trying to compile an AppGen solution.
Hand coded things are fine.

I don’t think I had the same errors you have. My problem had to do with single quotes. The .libs generated for the DLLs.contained invalid filenames for the DLLs that they represented.

e.g. MyDLL.DLL was listed as ‘MyDLL’.DLL within its respective lib.

Here’s a screenshot of my problem. Alexey’s comment was in the “Additional Information”

1 Like

Yes that’s not a problem I hit as I was only trying with single APP/DLL solutions.
I edited the ABBLDEXP.TPW as well.

I’m pretty sure C5/5.5 had issues with any file or folder name being more than 8 characters.
ie it still uses DOS file conventions

1 Like