Retina Kit 2 problem

I understand that the latest Xojo broke Retina Kit, so I am in the process of upgrading from Retina Kit 1 to Retina Kit 2.

I receive the following error message:

Any ideas what I need to do?

Thanks in advance.

It seems like Xojo is getting confused between the CGRect used in the Retina Kit and the MacOSLib. I’m guessing here, but it seems that Xojo is preferring the MacOSLib version, which doesn’t have the .width property and mostly likely .height property.


I guess I can simply add the width and height properties to the macoslib CGRect - or is that wishful thinking?? :slight_smile:
Thanks anyway Sam.

[quote=170874:@Richard Summers]I guess I can simply add the width and height properties to the macoslib CGRect - or is that wishful thinking?? :slight_smile:
Thanks anyway Sam.[/quote]
I think that might break the MacOSLib, as it would be a fundamental change.

When I get the time, I’ll create an method with a couple of extensions that re-map the width and height from MacOSLib. Sorry I haven’t had the time these past few days.

Sam, you might also consider specifying the fully qualified namespace for your version.

Thanks Greg, that’s another option I didn’t think about.

I need to take some time and consider all my options, when these modules are used in my own apps I have a central AppKit which holds structures and such, I embed them into the modules when I sell them, so that they’re self contained solutions (reducing dependency) so I may have to do something different for my customers who who also use the MacOSLib.

I am getting hit hard by this one also as I just upgraded my one app to RK 2.0.

Sam If you have any recommendations I can surely apply those.

Thank you

Quite frankly at the moment, I don’t have the time to change the name space and all the related code. So I’ll download MacOSLib and work on a bridge at some point today.

Could really do without this at the moment…

Here’s a quick solution, I’ve tested it with the latest version of the MacOSLib that I just downloaded.
Replace the OWAppKit2014Mini with the module in this download, as the interface tricks, you’ll also have to remove all the enumerations that the MacOSLib globally lists also (or you can remove them from the MacOSLib if you like).

I’ll have a solid think about changing all code to use namespaces, but it’s a monumental task and it will also create duplicates within the different components (which is not something I would like with the shift to 64-Bit coming).

as an intermediate developer, I am a bit confused as to what I need to delete, if I use the newly modified module, as per Sam’s previous post.

Could anyone clarify further - exactly where I need to look, and what I need to delete?

Thank you all in advance.

Start by replacing the AppKit module with the one I posted.

If you have the interfaceKit module loaded as well, it has conflicts with MacOSLib enumerations. As much as it pains me, it’s easier to remove the conflicting enums from my modules. I removed a bunch from the cut down version of the AppKit module.

This is a complete mess. It looks like Greg’s solution is the only clear way forward, however that means that everyone who’s using the Retina Kit or Sandbox Kit will need to then update their code :frowning: