I stil use RealStudio a lot, but try to upgrade all my programs to Xojo, for which I don’t have an official license until now.
My problem is that for one of my biggest projects I use the IDE menu item ‘Relocate’ a lot. In my unlicensed-Xojo this menu item always stay dimmed.
Can someone answer me if menu item ‘Relocate’ is really active all of the times in a licensed version?
To explain why: I develop simulations for Bingo-machines (kind of pinballs, built from 1950’s up). About 40 of them, until now all written in RealBasic. All these simulations use the same basic code. For every new model sounds and graphics are all named the same in source, but point to a different file. When I want to ‘personalize’ a model with its own sounds and graphics, I use this menu item ‘Relocate’ to keep the same name but pointing to a different sound- or graphics-file, if needed.
Why not a Select Case in the MenuHandler?
[code]Select Case Model
I have a pro licence, and the relocate item ( I don’t use) seems always disabled …
I use external items a lot.
Or even easier:
Add all the sounds and pictures to your app named like Model1SoundWin, Model1SoundLoose etc
Have a class cBingoMachine with properties like
Name as String
SoundWin as Sound
SoundLoose as Sound
PictureWin as Picture
PictureLoose as Picture
Then have BingoMachine as cBingoMachine as property of the window that is your currently set Bingo machine with a Constructor which sets the properties according to what model you select
BingoMachine.SoundWin = Model1SoundWin
BingoMachine.SoundLoose = Model1SoundLoose
Therefore anywhere you can simply use
If you open a second window you simply set it to another model, and you can have the two different bingo machines running side by side, all with the same code.
It also becomes VERY easy to add new models - just add the sound and pictures to your project, add it to the selection choices, and set up the properties.
@ Markus Winter
Thanks for trying to find a workaround. But with 40 models, each of them using about 40 different sounds, and with about 200 unique sounds available in stock, it would be a tremendous long Select Case list I’m afraid. Let alone the changing graphics…
In RealStudio, with ‘Relocate’ always available, life is easy. Just ‘Relocate’ sounds and graphics in IDE, 10 minutes max…
What I don’t understand is why the Relocate menu item is dimmed in Xojo. Where is it supposed to be used for now? Somebody (from Xojo?) can give me an answer?
Change the location of the file. For instance move the files to the desktop. Close and open your project. Xojo will now ask you to locate the files.
However, for 40 different models you really don’t want to manage files manually.
Set your sounds and images with the same name in different named folders, then follow Beatrix trick.
Xojo ask you to relocate, relocate one file and xojo will find the other files by itself.
Not the best, but workable.
As I understand it at the moment you are building 40 different apps. Compiling each separately. Relocating each separately.
With my approach you have one app. One compile. No relocation.
The Select Case is as long as the list of models and very simple (at least I would do it like that):
Add methods SetUpModel1, SetUpModel2,
to your app.
[code]Select Case Model
Or you could use an AppData file or database to load the required data (my preferred option). In that case you need a single method for setting up BingoMachine.
Of course if you WANT 40 different apps then forget I said anything
In Xojo, on both Windows and Mac, the image resources exist in the resources folder.
create 40 folders of identically named images on your machine:
eg original set of data has an image called ball.png
In set 1, it is green
In set 2 it is yellow
In both folders, the image is called ball.png
Build your app, then just copy ‘Set 1’ or ‘Set 2’ etc images over the top of the existing ones in Resources,
make an installer and ship.
[quote=377068:@Jeff Tullin]IBuild your app, then just copy ‘Set 1’ or ‘Set 2’ etc images over the top of the existing ones in Resources,
make an installer and ship.[/quote]
Wouldnt that be just perfect for a build script? Or can you only build once in a script? Or can you use a script that calls other scripts?
Thanks to everybody who have tried to find a workaround or explain better solutions.
But in my case these are all no real improvements. If someone is interested I can give a better explanation about the actual problem I am facing now, itls a rather long story.
What I really want is the old situation back as it was in RealBasic/Studio: Relocate available all the time, even if all files seem to be present. This way I dont have to write a single line of code, or rename files or move them; just link concerned Project items to desired files.
Now it seems that Xojo only makes Relocate available if one or more files are missing. Logic which is added in Xojo, but unnecessary to my opinion.
[quote]What I really want is the old situation back as it was in RealBasic/Studio[/quote] . Not gonna happen. You are a developer/coder/whatever so that you can find a workaround.
Can you please explain whhy in your opinion the present situation is better than it was before, where Relocate was always available?
[quote=377102:@Joop Riem]@Beatrix Willius
Can you please explain whhy in your opinion the present situation is better than it was before, where Relocate was always available?[/quote]
She didn’t say it was “better” or “worse”… she said basically “it is what it is, and Xojo has documented this”
IDE: Relocate is only enabled if the item was NOT located when opening the project. It’s not intended to be used as a means to swap classes around in a project.
He posted this response under the wrong topic
Thank you Dave.
I must have been sleeping when I responded.
The change of Relocate was part of Release 2014r2