Project Rendered Unloadable - Please help :)

Running Xojo 2015r4 on Windows 8

Misstep #1
I changed the super on a container to the name of another container and got the fatal message: “This application encountered a fatal problem and must be shut down”.

Misstep #2
I attempted to Save the project before Xojo shut itself down (I had time because the error dialog was waiting for me to hit Report or Ignore), and Xojo did allow me to successfully save the project in this fatal-error-generating state.

Now when I open the project, this fatal error appears immediately, and requires Xojo to be shutdown before I can correct the name of the super and bring the project back to life.

Is there a way to load a project into the IDE without validation of object names, etc in order to fix problems like this?

Any help would be much appreciated!
Vince

There is not. If you saved the project as xml or text, you can edit the name with a text editor. If you saved it as binary, you might be able to hack it with a hex editor. You just need to change one character enough to be able to load it. Then you can correct the name properly.

[quote=238023:@Vince Goff]Any help would be much appreciated!
Vince[/quote]

Send me the project
norman@xojo.com

@Norman Palardy : Sent!

You mean during hex editing I would be changing a character in the project that would allow it to load without validation? If so, what character?

Or do you mean I would be changing the name of the offending element in hex?

You would be changing the name of the offending element. Just changing one byte would be enought to get you going again. Finding that one byte, of course… It would be a bit of trial and error. Find every occurrence of the name and change them one at a time until you get success. But since Norm has graciously offered to look at it, you should be ok soon.

Arbed might do it.

Start Xojo
When the project selector dialog comes up PRESS & HOLD THE ALT KEY while you select your project
When it finally opens DO NOT DO ANYTHING OTHER THAN SAVE AS XOJO PROJECT

Then you can edit DgSaveAsNewProtocol in a text editor to change it so there isnt a control on there that is trying to use the dialog its on as the super
That’s the issue here

Theres one line right lose to the beginning like

   Begin DgSaveAsNewProtocol dgNewProtocolInt1

to change to to

   Begin dgNewProtocolInt dgNewProtocolInt1

Sent you this mod but since I dont have your images you would have a fair amount of fixing to do

This is one of those cases where a text project is a god send
And Time Machine as you could have reverted - dunno if Windows has something similar to that

@Norman Palardy

Thanks, I really appreciate the assistance!

I will try this as well in case others need it and just to see if it works

Should I submit a suggestion about disabling the Save function once a fatal error has been generated, or are there scenarios where that would actually be desirable and not cause issues? Maybe if Save was disabled, and only Save As was left enabled after a fatal error, users would be prevented from overwriting their projects with fatal-error-generating projects.

Seems more like this one should have stopped you from using a super that was the dialog the control was on
Thats the fundamental problem that caused everything else to go foobar

If you use the old style binary format then use external items. From the context menu you can save your classes, windows etc as external items. Saved my bacon a couple of times.

For anyone who needs this in the future, I tried Tim’s method of searching for the offending element name in a hex editor and replacing it with the correct element name. This seems to have worked. Xojo said the project might be corrupted, but still loaded it. The container in question loaded down at the very bottom of the left panel, colored dark gray and threw errors when trying to compile. I deleted this container and the project compiled fine, seemingly none the worse for wear :).

Thanks for all the help Norman and Tim!

I had the same problem on two different projects.
Norman Palardy’s reply from 27 Dec 2015 solved it for me! Thanks a lot.