06-27-2013 07:12 PM
I am trying to get access to the methods of a .net dll (assembly). I am always getting error 1172, "error calling static method...access to the registry key is denied". The static method is supposed to give me an instance of the object. I'm working in LV2010. I have tried:
- assembly is in the same directory as the calling vi.
- assembly is in the same directory as labview.exe
- tried both as a project and standalone vi
- I tried to add the assembly as a reference in tools>>import>>.net controls to palette. When I browse to the dll, I get the message "This assembly contains no public control", so there is nothing to add to the destination folder.
- I added the dll path to the vi search path.
- used both a .net ref constant and a constructor from the net palette
My only remaining hope is to add the assembly to the GAC (global assembly cache), but this looks difficult. Any suggestions greatly appreciated, as I am really stuck.
Solved! Go to Solution.
06-28-2013 08:20 AM
Where does the error occur exactly: Development or execution? If execution: Does the constructor run without errors? You state that the method creating the error should create the object. So this is the default constructor?
Is this error limited to your specific assembly? Please try System.Forms or similar Microsoft supplied assembly as reference.
If it is limited to your assembly: What registry key does the error refer to? Does the assembly read/write from/to the registry?
What version of .NET are you using?
Are there limited user rights?
Norbert
07-09-2013 12:34 PM
Hi Norbert,
I am using .NET 4.5. Yes, the error is occurring in the constructor. I have attached a screen shot to show the error. I am starting to look into the MSDN exception handling.
Scott
07-16-2013 01:40 PM
The problem has been solved. Labview needs to be run as administrator.
11-15-2013 04:08 PM
Error 1172 seems to be a general .NET error and does not relate to a spefic error type. Here is a good description of it :
http://digital.ni.com/public.nsf/allkb/B15CE9F2715434C386256D3500601878 and here is an example of what may cause the 1172 error:
http://digital.ni.com/public.nsf/allkb/0C5833C1B73EE385862572CB0025EAC9
But, below is an example of the error 1172 that I cant solve. The attached vi produces the error 1172 no matter what I try to do. What I am trying to accomplish is to embed and work with maps in LabVIEW using .net and this llb. https://greatmaps.codeplex.com/. I am not trying to use an embedded browser or create a static http link to google maps, this has been done before and usefull VIs for this purpose already exist, however they have quite a few limitations when you really want to work with maps.
This free libarary (GMap.NET) has had over 153.197 downloads and despite its nam supports: Google Maps, Yahoo maps, BING maps, ARGGis maps, Open Street maps, OVi maps etc. The big question is if Gmaps will run in G, i.e.will it run in LabVIEW ?. I have tested the attached code in LV2011 on my trusted old XP machine and also on LV2013 running in Win7. More details are described in the diagram of the attached VI.
If you can guide me in a direction of solving this problem I will forever be thankfull.
/søren
ERROR 1172
Error creating instance of BingMapProviderBase in assembly GMap.NET.MapProviders.BingMapProviderBase, GMap.NET.Core, Version=1.6.0.0, Culture=neutral, PublicKeyToken=b85b9027b614afef, (System.MissingMethodException: Cannot create an abstract class.) <append><b>System.MissingMethodException</b> in Helper OpenHTMLdocumen.vi
11-18-2013 05:46 PM - edited 11-18-2013 05:46 PM
I was able to repeat your error. But, when I selected the AccessMode Object under GMap.NET, error 1172 no longer occurs.
It appears that there may be some type of initialization routine that you need to call to run the map provider base.
I recommend looking at examples that call this DLL in other languages or contact the creators to get an idea of how it may need to be called properly
Mike
01-05-2015 02:46 PM
søren_hallberg_jensen, were you able to solve this problem? I have the same issue you explained with the latest "GMap.NET" library (V1.7.0)
04-03-2015 06:39 PM - edited 04-03-2015 06:42 PM
. . . Some object references need to be called as static ones using a PROPERTY NODE. This means that error 1172 will be thrown if you otherwise try to use the 'Constructor' .net initialization node.
See code below on how the GoogleMap provider was instanced (statically) and then the code was extended to give the Lat and Lng location for Calgary, Alberta, CANADA.
This is one way to make GMap return Lat and Lng coordinates from physical address info.
Anthony Lukindo
04-03-2015 09:07 PM
The GMap.NET component is in the public domain available from:
http://greatmaps.codeplex.com/releases/view/20235
Atttached are project VIs that use much of the Methods and Properties that come with this excellent GPS control.
NOTE: I have carved-off sections of code that are specific to my project so the code will look empty in certain sections. Otherwise, the goal was to share how to get started programmimg with this control in LabVIEW.
The VIs are in LabVIEW 8.6
Anthony Lukindo
04-11-2015 11:25 AM
Guys, Running LabVIEW 2014 SP1, I get a load error when trying to browse for any of the two DLLs * GMap.NET.Core.dll or * GMap.NET.WindowsForms.dll But return the not very helpful err message : "An error occurred trying to load the assembly", please see screenshot. Has anyone else been successfull running the GMAP with DLL ver. 1.7.0.0 ? And if so, any tricks involved in getting it to run ? /søren Siriusly : sorry no, was not able to solve the problem.