NetTalk Central
NetTalk Web Server => Web Server - Ask For Help => Topic started by: CaseyR on December 01, 2013, 11:42:22 AM
-
Hi,
Cryptonite works fine for hashing passwords in an NT app, but our data conversion program is a hand coded project. When
include('StringTheory.Inc'),ONCE
include('Cryptonite.inc'),Once
is put in the data section of the procedure/module in question, the project compiles but there is an access violation error when it runs. What are the steps for including Cryptonite in a hand coded project?
Many thanks.
-
When using a class in a hand-coded project you want to read the INC file to see what DEFINES are required.
In this case CryptoNite.Inc. The line you're looking for is the class declaration;
csError Class(),Type, Module('CryptoNite.clw'),Link('CryptoNite.clw',StringTheoryLinkMode),DLL(StringTheoryDLLMode)
the two defines are listed there;
StringTheoryLinkMode
and
StringTheoryDLLMode
These need to be set appropriately. If this is a "single app" or Data DLL app, then they should be
StringTheoryLinkMode=>1
StringTheoryDLLMode=>0
for other apps in a multi-app suite they should be
StringTheoryLinkMode=>0
StringTheoryDLLMode=>1
** Note ** Cryptonite is using the same settings as StringTheory. This is because of a limitation in Clarion 6. Early next year it will likely change to using it's own defines, so make a mental note to come back and chack when your app starts crashing next time again....
-
Thanks, Bruce. I use DEFINES (or as they are now known Conditional Compilation Symbols) a lot in apps, but this is a hand coded project without an app. Where do you set the symbol values without an app?
-
same place as you set them when you do have an app.
Project / Project Options / Compiling tab.
cheers
Bruce
-
Thanks, Bruce. Sorry, I was looking at the solution IDE menu. I put
StringTheoryLinkMode=>1; StringTheoryDLLMode=>0 as the Conditional Compilation Symbols, but I am still getting the same run time access violation. Thanks.
-
You may well have another class in the app with the same problem. Also check the spelling.
cheers
Bruce