Jump to content
Sign in to follow this  
rfessler

.NET Control Error 1172 - Only in executable

Recommended Posts

Hi everyone,

 

I posted this over in the NI forums as well, but maybe I'll have more luck over here.

 

I just ran into an issue this morning after building an executable version of my program, which uses the Actor Framework. It contains a .NET control (version 3.5) on one of my front panels. There's a function that I call to pass some XML strings to the control, which then handles filling in the data. This works just as expected in the development environment, but when I build an executable and run that, the control just sits there without being properly filled in. I attached an error indicator to the invoke node, which is showing me this error:

 

Error calling method InstrumentDataGridView.InstrumentDataGridView.LabVIEW_FillTableFromXML, (System.ArgumentNullException: Key cannot be null.Parameter name: key) <append><b>System.ArgumentNullException</b> in Experiment UI.lvlib:Experiment UI Panel.lvclass:Actor Core.vi:1->Actor Framework.lvlib:Actor.lvclass:Actor.vi:4->Actor Framework.lvlib:Actor.lvclass:Actor.vi.ACBRProxyCaller.D140000E

I then ran DebugView to get some more detailed information on what was happening and here's the log that it spit out:

 

00000006	80.98936462	[3404] Created new AppDomain: ICAS-EPR.exe for Reflection 	00000007	82.80818939	[3404] Created new AppDomain: ICAS-EPR.exe for Run 	00000008	85.75064087	[3404] DNError: Error calling method InstrumentDataGridView.InstrumentDataGridView.LabVIEW_NotifyAcquisitionStopped (1172). System.ArgumentNullException: Key cannot be null. 	00000009	85.75064087	[3404] Parameter name: key	00000010	85.75064087	[3404]    at System.Collections.Hashtable.get_Item(Object key) 	00000011	85.75064087	[3404]    at NationalInstruments.LabVIEW.SyncInvokeTable.LookupControl(Object key) 	00000012	85.75064087	[3404]    at NationalInstruments.LabVIEW.DNRuntime.InvokeMethod(Int32 invokeType, Type type, ObjectId objectId, String methodName, Type[] parameterTypes, Int32[] parameterFlags, ObjectId[]& parameterIds)	00000013	85.75064087	[3404]  	00000014	114.37963104	[3404] DNError: Error calling method InstrumentDataGridView.InstrumentDataGridView.LabVIEW_FillTableFromXML (1172). System.ArgumentNullException: Key cannot be null. 	00000015	114.37963104	[3404] Parameter name: key	00000016	114.37963104	[3404]    at System.Collections.Hashtable.get_Item(Object key) 	00000017	114.37963104	[3404]    at NationalInstruments.LabVIEW.SyncInvokeTable.LookupControl(Object key) 	00000018	114.37963104	[3404]    at NationalInstruments.LabVIEW.DNRuntime.InvokeMethod(Int32 invokeType, Type type, ObjectId objectId, String methodName, Type[] parameterTypes, Int32[] parameterFlags, ObjectId[]& parameterIds)	00000019	114.37963104	[3404]  	00000020	133.64822388	[3404] Destroying AppDomain: ICAS-EPR.exe for Reflection 	00000021	133.68054199	[3404] Destroying AppDomain: ICAS-EPR.exe for Run

 

As you can see, I get a "System.ArgumentNullException: Key cannot be null." error when calling both LabVIEW_NotifyAcquisitionStopped and LabVIEW_FillTableFromXML. Neither of these functions throw that type of exception. I thought that maybe the constructor wasn't being called, but I added some code to the constructor to write to a file and that functioned as expected. Then I wrote a new function that wrote to a file and called that when the VI loaded. That function worked fine and didn't throw any errors. 

 

I am completely stumped as to why this is happening. Both the development environment and the executable use the exact same DLL code. I appreciate any help I can get!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.