runrevmark wrote:If an external is included in copy files (and assuming it has a build for the target platform) then it will be linked in and loaded when the app is launched. If an external fails to load the app will terminate on startup and not work - so, essentially, if you include an external for iOS in an iOS app and your code runs you can be sure the external is there.
This sounds like it would be problematic in terms of handling failures gracefully.
One of the things I like about being able to see what externals are loaded and the methods they provide on Windows is that if for some reason the external fails to load, or is not found, I can present a message to the user about the issue and suggest possible fixes.
For example if an external depends on a particular version of the C++ Runtime to be installed - if it does not load, perhaps be sure you have this package installed and try again.
Would it be possible to get global properties related to Externals on iOS and Android since they do not have stack scope as you say? Or is this a very large undertaking with lots of new code required to support it?
I am currently dealing with an issue on mobile and the behavior is as you describe: my application crashes if there is a problem with the External. I hoped to find an easy way to verify an External would be usable before attempting to call its commands and avoid a crash.
Thank you Mark and Monte for all the information! I am soaking up LiveCode Engine Development as fast as I can and hope to be able to contribute back to this community one day soon