trevordevore / levure

Application development framework for LiveCode
MIT License
32 stars 14 forks source link

Transitioning a GLX based Mac OS X app to Levure - problems with preferences #98

Closed MartinKoob closed 6 years ago

MartinKoob commented 6 years ago

Hi Trevor

I have a Mac OS X application that is based on the GLX application framework that I need to transition to LC 9. (I am still using the LC 6.7.3 IDE for development of this app.)

Complicating this transition is the fact that I have been using Monte’s lcVCS plugin for version control. (I use SourceTree and BitBucket.) I want to move the application to using Levure so I can continue using source control.

I can open my app in LC 8.1.9 Stable with a few tweaks but I can’t use that for development because of issues with the transition from using the mergAV camera to the new cameraControl. I need feature improvements in LC 9 to the cameraControl as well as some other new features.

I have taken stabs at this over the last year at trying to convert my application to LC 8.1.x and now 9.0 but have run into a road block there.

When I try to open the application in the IDE with LC 9.0 I get an error on launching it.

“An error occurred while loading the application preferences: unable to load all externals (preferences library not found.)"

I tracked this down and found it originates in

Stack: glxApplicationFramework Handler: _loadExternals

The preferences.bundle external is in the components/externals folder but it seems it can’t load the external in LC 9.0 even though it can load it in LC 8.1.9.

I looked through my application for the calls that are made to the GLX framwork and there are only these: glxAppSetProp, glxAppGetProp, glxAppSetPref, glxAppGetPref, glxapp_savePrefs, glxApp_updateAvailable

So externals are pretty much all that I use in the GLX application.

I was wondering if there is a way to get around the load preferences external error for now so I can have the GLX based application running in LC 9.0 IDE to be able to I work on transitioning the application to Levure?

If that is not the right approach what do you suggest?

Thanks.

Martin Koob

trevordevore commented 6 years ago

@MartinKoob LC 9 opens as 64-bit by default on macOS. The preferences external is 32-bit. In the file info panel for the LC 9 app you can specify that it should open as 32-bit. Do that and then try again.

I'm working on creating extensions using LCB for all of the Objective-C code I use. Updating the preferences helper in Levure to use an extension rather than an external is on the list. Once that is done the prefs helper will work in 64-bit.

MartinKoob commented 6 years ago

@trevordevore Thanks for the quick reply. LC 9.0 running in 32bit mode is able to load the preferences external and open my app.

Looking forward to the prefs helper.

trevordevore commented 6 years ago

@MartinKoob You're welcome. I'm glad it is working for you now.