2021r3 New Release

Well, I tried converting a small app from 2021r2 to 2021r3 to check out the process and the API 2.0. All I can say at this point is that it is a good thing the old code will continue to work.

Is it easy to update a control? Yes, mostly. You will have to go and change the references to the controls enumeration values (Listbox.ColumnAlignments… becomes DesktopListbox.ColumnAlignments…, etc.) The same goes for ComboBoxes and PopupMenus.

One real kicker is that if you “update” the MenuBar to DesktopMenuBar, besides all references you will have to update all windows in the app. That includes document windows, the About Box if your app has one, and any custom windows. Which means that if you update the MenuBar to API 2.0, pretty much results in having to update the entire app.

As a hobbyist, I’m unlikely to move to 2021r3 unless I get really bored and have nothing else to do.

Well, you know that you can still open and use your old projects with 2021r3 without the need to convert controls/windows/menus… plus taking advantage of the new features added. :slight_smile:

3 Likes

Me too. But I already went through this in the iOS > Mobile transition. It took hours to update one of my apps to remove the deprecations. If I ever go back and update one of my old apps I will probably do the same thing again.

1 Like

Yes, I know. But until/unless I find something that 2021r3 gives me that I need and don’t have in r2 I see no reason to expend the time and energy converting. As for any new project I start, well, I’ll decide then.

Yeah, the point here is that you don’t need to convert, but you’ll get bug fixes and also improvements over existing ones. But…

In other words, you can use 2021r3 with the existing API 1.0 controls. You don’t need to convert anything to use the new release.

1 Like

Apologies if I missed a post on this as there’s been a lot of information released today, how do I add an API1 button to my new project in 2021r3, I’d like to keep it backwards compatible?

Have you tried to change it’s super.

Ah ok, manually, sorry I was concerned that dropping an API2 control onto the project would limit it to an API2 only project. Thanks

That didn’t work…

image

New project, added a button, changed its super to PushButton and saved it, tried it twice just to make sure.

Because is a new project? I mean, if it is a new project created with 2021r3… it defaults to API 2.0 controls.

I cannot run a single iOS project. I get errors about the app icon and launch screen.
Anyone else?

Sorry that it wasn’t clear, Julian. My response was to Dale about bringing his existing project to 2021r3, not about starting a new one.

1 Like

I have some legacy controls that I had subclassed, that appear to drag into r3, and work on a DesktopWindow, quite nicely. But I haven’t yet tried it with a “new” project.

Edit: at this point, I’ve only converted windows that don’t have assigned menubars.

Create the New proyect in an old Xojo release
Save it
Close Old Xojo
Open New Xojo release
Open your proyect with the Old format
Add the API 1 button
Save it

?

2 Likes

Note to past self, don’t be a muppet and take the time to RTFM.

I also found what was causing the error above, I hadn’t changed all the other components in the project, after doing that and turning back on “Menu Bar Visible” from the Gear in Window1 it loaded up quite nicely in 2021r2.1. Nice! Cheers all that pointed me in the right direction.

1 Like

It did fix a bug that was driving me nuts. The Stop Event for the MoviePlayer wasn’t working on Linux but did on MacOS. I’ll likely covert my other projects.

1 Like