Files
PS_Dinkey/Dinkey Pro 7.6.1/$DOCUMENTS/Dinkey Pro 7.6.1 Examples/Samples/FoxPro
2026-05-06 07:47:36 +02:00
..
2026-05-06 07:47:36 +02:00
2026-05-06 07:47:36 +02:00

FoxPro Sample Code Notes
~~~~~~~~~~~~~~~~~~~~~~~~

Runtime.prg was tested in FoxPro6 but will also work with all later versions of PoxPro

The sample code contains 10 functions. You will not need to use all these
functions in your code. Just use which ever functions are most appropriate
and customise in your own way. The sample code is just a guide. You should
implement the protection in a stronger way using the techniques described in
the "Increasing your Protection" chapter of the manual.

Code marked with !!!! are places where you should customise the sample code so
that it will work properly:

* Change the MY_SDSN value to the value of your SDSN
* Change the MY_PRODCODE value to the Product Code in the dongle
* Change the MyAlgorithm code (if you call a user algorithm)
* Change the CryptDRIS code (if you encrypt the DRIS)
* Change the CryptApiData (if you encrypt Data you send to our API)
* Change the MyRWAlgorithm code (if encrypt Data you send to our API using the R/W algorithm)

You will also probably want to replace our error messages with your own.

Note - you should protect dpwin32.dll and not your program. Because your program
is linked to the DLL it is protected. The protected DLL will need to be in the
same folder as your compiled program for it to run correctly.

Note - you should place dpwin32.dll either in the 32-bit Windows System folder* or in
the project folder (if you do this you should "CD" to this folder in the command window).

Note - Output text from this program is displayed in the main Visual FoxPro Window.

Note - You would normally want to QUIT if the protection check failed. We do not do that
in this sample code so you can see error messages being displayed.

Note - you can debug your code (our anti-debug code sometimes stops this but not for FoxPro)

Note - For reading data or decrypting data you must initialise the data variable you pass to
contain at least the number of bytes that you want to read. After you have read the data you
must adjust the size of the string to be the size of the data you have read as our API does
not do this.

* Windows System folder for 32-bit dlls is:
c:\windows\system32			32-bit Windows OS
c:\windows\syswow64			64-bit Windows OS