How I escaped from locate missing graphic hell

After switching my development to a backup machine and back, I found that Xojo was trying to load all my external items by absolute path and asking me to find each one. A back of an envelope calculation of how long it would take was about 1.6 years including bathroom breaks and therapy.

Instead I opened my PROJECTNAME.xojo_project in a text editor.

Inside was many lines absolute lines like this:

Picture=LeftArrow;Macintosh HD:Users:stephen:Desktop:Stephen’s CCC Backup:Users:stephen:Documents:Programming:OfficeTime:Code:Repositories:Desktop:officetime-desktop:support files:graphics:LeftArrow.png;&h0000000059B00640;&hFFFFFFFFBB07C4EA;false;0;&h0000000000000000

I did some search and replaces to get them to look like this:

Picture=LeftArrow;support files/graphics/LeftArrow.png;&h0000000059B00640;&hFFFFFFFFBB07C4EA;false;0;&h0000000000000000

Note the / instead of : for separators.

And voila, no more asking to locate files.

The above of course is using the Xojo Project, not Xojo Binary Project format.

This is all in your mind. Everything is working as it should. See for instance: <> .

I got stuck not too long ago trying to convert a large project with a lot of external items into a git repository. I wanted the external items to be inside the same git repository folder even though I had previously had them in a different folder all together. Thinking that using the resolve missing items dialog that comes up I tried to just move the folder into the repository and then open the project and resolve the issues. This did most spectacularly not work. It either wouldn’t load the project at all or it wouldn’t even ask me or allow me to find them or the project would just not compile at all. There were all kinds of external items there, files, images, modules, classes etc. Rather than mess with it anymore then I just put them back where they were and created a second git repository in the external items folder :wink: Thats how it’s lived for the last year or so and I just try to remember to commit those portions when I commit the other archive. I suppose I should revisit that… but not today!