FS#103Runtime reload script
- Type
- Feature Request
- Status
- Closed
- Resolution
- Implemented
- Category
- ECMAScript
- Severity
- Low
- Priority
- Low
- Reported version
- 3 TP1
- Operating system
- All
- Reported
- 2011-05-25 by hungerburg
- Closed
- 2011-05-25 by andrew
As of TP1, a script once loaded into the runtime, does reflect changes to the file it was loaded from only after a restart of the whole of QCAD. This adds a considerable time overhead to developing scripts. Therefore I want to suggest a reload mechanism, that works kind of like the one known from a web browser.
As there is no clear separation between users custom scripts and ribbonsoft supplied scripts, checking the modification time for every access to any script might prove a performance hit.
Possibly a user script can be written, to invalidate another certain script and have the runtime reload it from file? I could add that to my menu.
Or as some magic, that can be written to "MyAction.init()"?
Closure comment
Can be achieved by the script itself (see comment)
Comments (2)
You can achieve this by unloading your class at the end of the script by setting it to undefined.
Example:
Thank you Andrew, this works with the example provided. Yet, as soon as a dialogue is execed() from the script, invalidating the class no longer works; then it will not run again at all. Possibly some ressources have to be freed?