MarkAusten / TDHelper

GUI for Trade Dangerous and EDDBlink
MIT License
7 stars 4 forks source link

Object reference not set to an instance of an object. - Again, only worse now and with a NullException on top :) #7

Closed Tromador closed 6 years ago

Tromador commented 6 years ago

Worse, because instead of the Continue/Quit dialogue allowing me to continue - I get the newly created error trap and it doesn't have a continue, so I'm stuck.

This is always immediately after asking for my python.exe which is sensibly @ C:\Program Files\Python36\python.exe

When I edit tdh.ini by hand and give it my python path it skips that and asks for my trade.py, before barfing out in the same manner.

And indeed for every file it could not initially find, it would barf until I manually put them into tdh.ini, after which, presumably because it could actually find the said files - it carried on.

Finally, after editing all the files in - well, it still wouldn't start.

I do note that the shipped tdh.ini had all your paths and cmdr information in, which I don't suppose helped.

So, I gave up. Unpacked the previous version, used that to make a tdh.ini which worked. Then unzipped the new version, this time being careful NOT to overwrite the correct and working tdh. ini and got the below exception - from which I was able to continue and then the app came up fine.

As before, once I had it running once, I didn't have any problems on subsequent invocations of the app.

See the end of this message for details on invoking just-in-time (JIT) debugging instead of this dialog box.

** Exception Text ** System.ArgumentNullException: Value cannot be null. Parameter name: name at SharpConfig.ConfigurationElement..ctor(String name) at SharpConfig.Configuration.get_Item(String name) at TDHelper.MainForm.SetShipList(Boolean refreshList) at TDHelper.MainForm.MainForm_Load(Object sender, EventArgs e) at System.Windows.Forms.Form.OnLoad(EventArgs e) at System.Windows.Forms.Form.OnCreateControl() at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible) at System.Windows.Forms.Control.CreateControl() at System.Windows.Forms.Control.WmShowWindow(Message& m) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.ScrollableControl.WndProc(Message& m) at System.Windows.Forms.Form.WmShowWindow(Message& m) at System.Windows.Forms.Form.WndProc(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

** Loaded Assemblies ** mscorlib Assembly Version: 4.0.0.0 Win32 Version: 4.7.3110.0 built by: NET472REL1LAST_C CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll

TDHelper Assembly Version: 2.0.3.4 Win32 Version: 2.0.3.4 CodeBase: file:///D:/Games/Game%20Tools/Elite/TD%20Helper/TDHelper.exe

System.Windows.Forms Assembly Version: 4.0.0.0 Win32 Version: 4.7.3056.0 built by: NET472REL1 CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll

System Assembly Version: 4.0.0.0 Win32 Version: 4.7.3056.0 built by: NET472REL1 CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll

System.Drawing Assembly Version: 4.0.0.0 Win32 Version: 4.7.3056.0 built by: NET472REL1 CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll

System.Data Assembly Version: 4.0.0.0 Win32 Version: 4.7.3056.0 built by: NET472REL1 CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll

System.Core Assembly Version: 4.0.0.0 Win32 Version: 4.7.3110.0 built by: NET472REL1LAST_C CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll

System.Xml Assembly Version: 4.0.0.0 Win32 Version: 4.7.3056.0 built by: NET472REL1 CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll

System.Configuration Assembly Version: 4.0.0.0 Win32 Version: 4.7.3056.0 built by: NET472REL1 CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll

SharpConfig Assembly Version: 3.2.8.0 Win32 Version: 3.2.8.0 CodeBase: file:///D:/Games/Game%20Tools/Elite/TD%20Helper/SharpConfig.DLL

System.Xml.Linq Assembly Version: 4.0.0.0 Win32 Version: 4.7.3056.0 built by: NET472REL1 CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml.Linq/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.Linq.dll

** JIT Debugging ** To enable just-in-time (JIT) debugging, the .config file for this application or computer (machine.config) must have the jitDebugging value set in the system.windows.forms section. The application must also be compiled with debugging enabled.

For example:

When JIT debugging is enabled, any unhandled exception will be sent to the JIT debugger registered on the computer rather than be handled by this dialog box.

MarkAusten commented 6 years ago

Rats!

I just be getting old.

The tdh.ini file should not have been deployed with the release and that is where your problems started a my locations differ from yours. The second error was because there were no ships in your new ini.

Tromador commented 6 years ago

That's not it.

If I delete tdh.ini and then run TDH, I get the exact same error after it asks for python.exe.

I point it at the file, then it borks out with your custom error message , logging as always Object reference not set to an instance of an object.

The only way to have it run clean (or at all) is to have a magically prepared and correct tdh.ini from the get go.

MarkAusten commented 6 years ago

Well, to be fair it was, but not having any ships in the list caused a another error that I didn't see. Strangely in certain parts of the start sequence exceptions get invisibly ignored. They just disappear.

Still, I've released v2.0.3.5-Beta and tried it on two different PCs both with and without ini files and TDHelper.db files and I've not had an exception.

When you have a moment please would you check it over and see if I really have fixed it this time.

Thanks.

Tromador commented 6 years ago

Seems to be fine now. I'll keep an eye on future releases :)