Strange happening after upgrade

This will be more than you probably want to know but thought it might be useful if anyone else encounters the same as I have. I have no explanation for what is going on.

My one and only project with A/S is a coordinate geometry application with separate sub-apps, one for each of 3 screen sizes plus one for an evaluation version. 4 total. This began many years ago with hardly any need for revisions other than cosmetically, so did not need major upgrades except when necessary to keep my project alive. Therefore, I recently upgraded from vs 6 to 8.2 so I could continue including a native android version with voltbuilder before phonegap went away.

I discovered that the “nsx” extension was no longer used. This was well explained in a blog article by George. Therefore, one of the first things I did after upgrading was change the extension of my nsx files simply by doing a “save as” from the IDE without giving another file name. It automatically inserted the “appstudio” folder name and replaced nsx with “.project” to the existing file name.

My evaluation version opens with those words displayed on the first screen. The other sub- apps display something applicably different when opened. Now for the weird part…let’s say I open “icogo7.nsx” (the 7” sub-app) before doing a “save as”. Oops, It opens with “evaluation version” displayed on the first screen, although it says “icogo7.nsx” on the top. In other words, I type in a file name but something else opens.

This also happened with a few of the other sub-apps. They opened the evaluation instead of what was expected. I never saw this before the upgrade. Fortunately I had backed up my nsx files more that once prior to the upgrade so I had multiple locations from which to retrieve them. But not all nsx files acted this way so it wasn’t consistent and a good thing for I was able to get a full set of files with the proper extension using “save as” by trying other nsx files with the same name.

A real head scratcher for me but maybe simple for one of the gurus. Please don’t spend a lot time on this because I think I have what I need now but maybe it will be good for the insomniacs.

I’m unsure what you mean by “sub app”. That’s something that isn’t part of AppStudio.

AppStudio expects there to be one folder for each app. There should be only one .project file in that folder. If you have everything set up right, there should be no more .nsx files.

Each .nsx file should be loaded and a Save As be done into a new folder.

Thank for your response.
By sub app I mean a separate project or app for each size screen. They do have their own folder. For example, mcogo.nsx is the project for the phone size screen, icogo7.nsx for the 7" screen, icogo11.nsx for the 11" screen. The evaluation uses the phone size. Each project essentially uses the same code… Only the forms change. If I were smarter, I could probably have had one project and just had the user select the desired screen size rather than a project for each size. That would surely save me time. Is there a way to adjust form sizes at run time?
The evaluation being cached is one possibility for the issue i described except it had not been opened prior to the others.

The proper way to do this is to make your app responsive. Here are some blog posts to get you started:

https://blog.appstudio.dev/?s=responsive+design

The Proper Way I’m sure your going thru lots of file copying, and you probably built batch files to make it all happen. But your way, is a hassle and doesn’t consider new screen sizes. But I’m going to suggest you not rewrite the whole program, but as you enhance it - adding or replacing features, that you consider using Responsive styles - thus applying these new changes to your versions would be a simple cut and paste without any adjustments. Your next project would be a good place to go all out with a responsive design.

I do think it’s important to point out there are two camps on how to do create Responsive and they are very different. The link George sent points mainly toward using Grids to organize the screen. This would be very hard to integrate into existing screen layouts.

The second, and the method I’ve gone with, is to use a lot of layers of containers with most set to position=relative and I make use of style.display = blank, flex and block to get the containers to “move” around the screen as I like for different size screens.

I use chrome running the app as a web app and turn on inspector. I then drag the edge of the inspector window to change the size of the app window to see how it looks on all widths. I don’t want horizontal scrolling, but vertical is aok. I limit the amount of controls on a “screen” to limit the vertical scroll by the user.

Hope this helps.

Thank you very much, George and Gary. I not only now have food for thought but a banquet. Not sure if my 85 year old brain can absorb all of it but I am going to try.

Only 85? Kids shouldn’t be writing code!

1 Like

That’s what I am finding out.

Coding is an intellectual pursuit wrapped in a coat of creativity. Each idea lasts until it’s proven to work or not work or someone shows you a new way that’s so much better that it forces you to change. As for your multiple screen size problem think in terms of percentages instead of pixels. If you design a screen and place the logo as 30% instead of x by x pixels, when it runs the logo will automatically be sized across all devices.

Thank you. Sounds reasonable.