Protect .odcl

Started by amir0914, February 27, 2020, 03:44:11 AM

Previous topic - Next topic

amir0914

Hi all,
Open DCL is great because I can create Forms quickly and easily, But only problem that I have , is .odcl file doesn't have any safety. it means users can open .odcl file with open DCL and edit or delete forms, Is there any way to protect .odcl file with password or compile it to an encrypted format like .vlx ???

diogenes

Yes, you can. Save the project as lsp instead of odcl. Then use Project-import with the generated lsp. Compile as vlx and you will have the dialog box included in the compilation, with no possibility for the user to change its content.
Commands used: "Project-Import"
Greetings

amir0914

Thanks, I Saved it to lsp file, but it has many strange codes and they're not lisp codes , is that right? or maybe I made a mistake.



'("YWt6A9AQAAB/oxjUBuKT6MUxKj9quMFLkkyc9DSq5qbSb1wv/yMiaKg6dUoUajqqOnV1aBo7oF9W"
"FTtX98OvFp9hnn1tYffbSKQvJIZ55lY0G/JxjuInxvHxuWsjF5owULIRsLLiDRmwCR6dsooy2nAP"
"pSw2PCahy/1mvH7Er/dwct0oJHa+Ok8uXMELNAd0Z9obPCLYGpvT/PBa2iu3OHfP2trpz6UY2+k+"
"fZQbIEWIN0FdiNrCl8K1Z6NPVd03D+vo2H+XlMbS08tF2BoLw4qk42NRJGFnZzekSycXC0xkOCrd"
"I9nvHGUydhVOhfbljm+HzF+KN26YS7SYUs0tshdqv43mL4WbiAdRH+RM6cHUg8e1CIAtnBm6MfYB"
"xoCqHtDdpncog5MiSoZJQHUy28UN5YqyMTqYSMiIxbop9yG0v8f/vsJdhXYPWpqZkRqxb2WBgpYY"
"lxPOIr8JKgxyqU5WqUX6ICI4QQSK/Ue+IJmWjKI9opliNpb1YJt+p8X3WeNmjH8xxQgFS+EWgDmZ"
"1IwiMJVBxYDTA/8SJX1NSUpRrSQiqDdYjGU5KjynqpElbRO4Z7qak+wLw6wcRlJBUb/CDgOXZwXN"
"QtgCvsmxqFBXdL2cA0EU2vOmKPNoZTHBkgd2M7xj7NUDTklX2FOQoCO02TYv0+BCKIA+ByCfpFmq"
"AKybNJtt2s5YnBicnbrS1SNqwTkZyZrz1AvDu0aZD5cvx+DyYjXpIi95ZA+7YKL+Yqy8qxnvAubc"
"Aha+wgL+Z9m0i+acUD4QMhRiHzn4B0EbCoA1oolegolD2wKl0wYIwZO60+pRNZr9oPlJYaTOzIdO"
"2GLbxGnYRIf2knH2YWyhcdat+1D9SbahQVD1L4toywLuix2wNEyYOk/z3Ofigl1u2udkxOVGzzkt"
"oYpS9KIiyAjxuAy0tauqWKy44RTS/4J4FxJxh3OsoiC0j1Sco5qBa08VDDm+yysFFIKWrGRAccH4"
"kd9+ZDAtgrWrShVGNs3bVdKnCIxJOALwxu3mSwH5hry0qHrti4XNS9yqDC7zdoDFJL5kT/CrZJ+O"
"Iav2uswUOnKAZI9o1UucAdFvhIJ8y9eQwg==")



diogenes

That's right. You must define a sample function and include dcl_project_import like this:

(defun load_mydcl ()
(dcl_project_import

'("YWt6A9AQAAB/oxjUBuKT6MUxKj9quMFLkkyc9DSq5qbSb1wv/yMiaKg6dUoUajqqOnV1aBo7oF9W"
"FTtX98OvFp9hnn1tYffbSKQvJIZ55lY0G/JxjuInxvHxuWsjF5owULIRsLLiDRmwCR6dsooy2nAP"
"pSw2PCahy/1mvH7Er/dwct0oJHa+Ok8uXMELNAd0Z9obPCLYGpvT/PBa2iu3OHfP2trpz6UY2+k+"
"fZQbIEWIN0FdiNrCl8K1Z6NPVd03D+vo2H+XlMbS08tF2BoLw4qk42NRJGFnZzekSycXC0xkOCrd"
"I9nvHGUydhVOhfbljm+HzF+KN26YS7SYUs0tshdqv43mL4WbiAdRH+RM6cHUg8e1CIAtnBm6MfYB"
"xoCqHtDdpncog5MiSoZJQHUy28UN5YqyMTqYSMiIxbop9yG0v8f/vsJdhXYPWpqZkRqxb2WBgpYY"
"lxPOIr8JKgxyqU5WqUX6ICI4QQSK/Ue+IJmWjKI9opliNpb1YJt+p8X3WeNmjH8xxQgFS+EWgDmZ"
"1IwiMJVBxYDTA/8SJX1NSUpRrSQiqDdYjGU5KjynqpElbRO4Z7qak+wLw6wcRlJBUb/CDgOXZwXN"
"QtgCvsmxqFBXdL2cA0EU2vOmKPNoZTHBkgd2M7xj7NUDTklX2FOQoCO02TYv0+BCKIA+ByCfpFmq"
"AKybNJtt2s5YnBicnbrS1SNqwTkZyZrz1AvDu0aZD5cvx+DyYjXpIi95ZA+7YKL+Yqy8qxnvAubc"
"Aha+wgL+Z9m0i+acUD4QMhRiHzn4B0EbCoA1oolegolD2wKl0wYIwZO60+pRNZr9oPlJYaTOzIdO"
"2GLbxGnYRIf2knH2YWyhcdat+1D9SbahQVD1L4toywLuix2wNEyYOk/z3Ofigl1u2udkxOVGzzkt"
"oYpS9KIiyAjxuAy0tauqWKy44RTS/4J4FxJxh3OsoiC0j1Sco5qBa08VDDm+yysFFIKWrGRAccH4"
"kd9+ZDAtgrWrShVGNs3bVdKnCIxJOALwxu3mSwH5hry0qHrti4XNS9yqDC7zdoDFJL5kT/CrZJ+O"
"Iav2uswUOnKAZI9o1UucAdFvhIJ8y9eQwg==")

))

Regards

rbtolles

Just wanted to add that you don't have to go as far as making a VLX file, you can hide code by compiling it as a more basic FAS file if you want.

amir0914

Thank you, But it gives this error after run : (openDCL is installed on my pc)

; error: no function definition: DCL_PROJECT_IMPORT


diogenes

Sorry. The command is:
(dcl-Project-Import ProjectData [as String or List of Strings] {NewPassword [as String]} {NewProjectKey [as String]})