2022-11-21 01:27 AM
Is there a way to not use GDL on another computer?
1. Autocad autolisp simply reads the numbering of the cpu, locks it, and compiles it. What should I do in Archicad?
2. Is communication between api and GDL possible?
It seems that GDL can lock by reading the variable values of the api.
2022-11-21 02:29 AM
Not use? To what extent? The objects do not render? They are not modifiable?
AC22-23 AUS 7000 | Help Those Help You - Add a Signature |
Self-taught, bend it till it breaks | Creating a Thread |
Win11 | i9 10850K | 64GB | RX6600 | Win10 | R5 2600 | 16GB | GTX1660 |
2022-11-21 03:37 AM
I want to know about everything you say. ^^
1. Unchangeable
2. Not displayed on the screen, etc.
However, it is not possible to communicate with the API. Is it possible?
As I said, how is it possible to read and process the numbering of the cpu in autolisp?
I'm curious about that.
2022-11-21 04:22 AM
I am not sure what you are asking.
GDL is a part of Archicad and can not be turned off.
Every object, door & window is GDL.
As a user, you can choose to accept all library objects as they are or you can delve into GDL scripting and create/modify your own objects.
API programming is a whole other level, it is interacting with the Archicad program itself, not just GDL.
In fact, I don't think it has anything to do with GDL programming other than it can access GDL parameters in objects.
I am not sure it can affect the scripting of GDL objects.
I am not an API programmer so I am not 100% sure of this.
Barry.
2022-11-21 05:14 AM
You can think of GDL as locking like a program.
In the case of Autolisp, it is to read the unique number of my cpu and to operate if it is the same as the number I entered, so that the GDL I made goes directly to the END statement in other computers. Then it can't be shown!
I haven't seen it myself, but I'm interested in it because the developer says that GDL can be made visible only by running the api.
Security is of utmost importance to the company...
2022-11-21 05:20 AM
However, I have yet to get an answer on whether the created object can be called as a GUID or parameter value from GDL.
Of course, Label can call one object and bring variable values with request, but...
2022-11-21 05:42 AM
IF firstRun = 0 THEN !parameter that allow to run code only once
parameters firstRun = 1 !prevents running code again
ENDIF
I also read yours with interest. ^^
2022-11-21 05:43 AM
@Ben Cohen has his objects reference a licence object which will compare your AC licence number with a pre-programed list and lock the objects if they do not match. This would be using the "Configuration_number" request. I do not think there is a way to reference a computer specifically.
AC22-23 AUS 7000 | Help Those Help You - Add a Signature |
Self-taught, bend it till it breaks | Creating a Thread |
Win11 | i9 10850K | 64GB | RX6600 | Win10 | R5 2600 | 16GB | GTX1660 |
2022-11-21 05:55 AM
Can you elaborate a bit more?
n = REQUEST("Configuration_number", "", stConfigurationNumber)
text2 0,0,stConfigurationNumber
When I did this, n = 1 and stConfigurationNumber = empty.
I want to know how to create and read objects reference a license object.
Thank you for your interest.
2022-11-21 06:34 AM
From the GDL manual ...
n = REQUEST ("Configuration_number", "", stConfigurationNumber)
Returns the configuration number (as string expression) assigned to the current ARCHICAD license in case of soft license or hardware key.
Returns empty string in case of Edu, Trial or Demo licenses. Each configuration number is unique and does not change.
Expression returns 0 and contains dummy return values (emtpy string or 0) if used in parameter script, causing additional warning.
You could also try locking to the actual license number ...
n = REQUEST ("program_info", "", name[, version[, keySerialNumber[, isCommercial]]])
Returns information on the currently running program. Expression returns 0 and contains dummy return values (emtpy string or 0) if used in parameter
script, causing additional warning.
name: name of the program
version: version number of the program
keySerialNumber: serial number of the keyplug
You might want to hide the license checking in a separate macro so you can use it for many objects.
You can hide the scripts for the macro by setting a password when you save the object.
Don't forget the password or you will never be able to open the macro to edit it.
You will need to configure the macro to work with each unique configuration or license number.
Barry.