Tag Info

Hot answers tagged

6

Take a look at the following: Esri Migration doc Specifically Reference ESRI.ArcGIS.ADF.Local assembly Set ESRI assemblies Specific Version property Platform CPU target changes


5

Yes, since you are presumably using VB.NET (not VB, which is 20+ years old and no longer supported), you need to use the Imports statement to import namespaces. Specifically you want to put Imports ESRI.ArcGIS.Geometry at the top of your code files. Alternatively you could fully qualify the IPoint type every time you use it (ESRI.ArcGIS.Geometry.IPoint) ...


5

I think VS2010 only works if you point it at the .NET 3.5 framework, not the 4.0. Kind of makes 2010 redundant imo. I don't think it will work properly Arc 10 (sp1) VS2010, VS 2008 and VS Express 2008 - all 3.5 Framework. with ArcGIS 10.1 - 4.00 framework and VS2010 So: VS2010 if you use the .net 3.5 framework. Standard and Professional work. VS2010 ...


5

It appears you have a setup project that is part of your solution. You might try having it run EsriRegasm, as described in Chris Garrard's blog post. When you build your project you'll also need to call EsriRegasm, as described here. <Target Name="BeforeClean"> <Exec WorkingDirectory="$(CommonProgramFiles)\ArcGIS\bin" ...


5

In addition to @jmhauck answer; because the application framework has changed in version 10 you might also consider just to build a new extension using the ArcGIS 10 SDK using one of the "Extending ArcObjects" templates and copy your functions and procedures from your legacy extension. More info on extending ArcObjects here


4

Instead of checking for a selection directly in the button's OnUpdate routine, which runs very frequently, I would write an extension that uses event handlers to respond to selection events and caches the selection state of your layer, and then in the OnUpdate routine check the extension's cached state. Of course this is probably overkill if there is only ...


4

You need a function that returns the selection set count property on your layer. If the count is >0 than you can enable your button. ISelectionSet.Count Property


4

The syntax for combobox (as well as other controls) is different in VB.NET. You should review the help to see the changes. cmbBox.ListCount --> cmbBox.Items.Count cmbBox.List(l) --> cmbBox.Items.Item(l) cmbBox.AddItem(sItem, l) --> cmbBox.Items.Insert(l, sItem) cmbBox.AddItem(sItem) --> cmbBox.Items.Add(sItem)


4

I don't want to do your homework for you, but much of the framework already exists. Try looking at Script Tools. You will have to write the python script yourself, but it can very easily be run from ArcToolbox. The UI comes from the ArcGIS desktop, and has the standard look and feel.


4

I got this book 2 weeks ago while browsing (again) for books covering your same question. Definitely worth purchasing. It's taken me a while to understand interface programming (that ArcObjects uses) but this guy explains it pretty well in Chapter 5. Lots of sample code and examples on how to create add-in's and extensions. The book covers 10.1 as well. ...


3

When you set up a reference to an assembly, you have the option for "Specific Version". When you add a reference manually, by default it is True. The references added by Esri's SDK tools set it to False. You should be able to highlight multiple references in the Solution Explorer and change multiple assembly references' Specific Version to False. (At ...


3

So here is how I successfully solved the issue -- although I did go through every one of the settings for the x86 again -- I removed EVERY reference to the ArcObject interfaces and re-added them to the project. I also, removed and re-added my Unit Test project. In doing this, I was able to catch one of the x86 references that I could have missed the ...


3

You are able to access the supporting libaries; but you would need to build the UI all yourself. ArcEngine offers you the ability to create your own run-time apps using ESRI technology; but you have to assemble the general flow yourself.You also need to make sure you handle the license needs properly with the extensions; yes the ability is there but again ...


3

The code below works for me. using System; using System.Text; using System.Net; using Newtonsoft.Json; using System.IO; using Newtonsoft.Json.Linq; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { try { string baseUrl = ...


3

I believe your command line should read: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe C:\Temp\Mydll.dll /tlb:Mytlb.tlb /codebase Not directly related to your problem, but I would also advise against naming the type library file differently than the DLL as it violates the standard naming convention. I.e. use Mydll.tlb instead of Mytlb.tlb.


3

ogrinfo as nothing to do with Visual Studio. It is a command line tool (Windows, Linux, Mac OS X) So you use it in the Windows console or in the Linux and Mac OS X shell in the same way. ogrinfo yourshape.shp with a lot of options: (ogrinfo) And, there are many, many tutorials in Gis.StackExchange : search ogrinfo and on the Web....


2

ByRef and ICursor are underlined. ByRef = Expression expected and ICursor error = ICursor is a type and cannot be used as an expression. When you have the keyword ByRef you can ONLY have a variable following it. What you have following it is a function. ByRef means that the variable you are giving to the function you expect to change in the ...


2

There is some JSON helpers i ArcObjects that you might be able to use, but I'm not sure if they are supported on the client side though: SOESupport.JsonObject


2

(Months later...) The answer is to not reference 3rd party dependencies if they aren't on the clients' machines and you aren't distributing them with your add-in. In this case it was the Visual Basic Power Packs dependency, which from the sounds of it wasn't being used anyways. You should also be sure to implement error handling at all entry points to your ...


2

If you have created an add-in and added a ESRI.ArcGIS.Desktop.AddIns.Tool to it then stub out the following event: Protected Overrides Sub OnMouseDown(ByVal arg As ESRI.ArcGIS.Desktop.AddIns.Tool.MouseEventArgs) ' --write your function here-- End Sub arg.X and arg.Y will be the coordinates where the user clicked. You will most likely want to ...


2

If this is an Add-in, you'll have to make a modification to the config.esriaddinx file also. Take a look at the section about Delay Loading in the add-in concepts help, where it says to set the onDemand attribute to false. The line will look something like this: <Button id="YourAddIn_Button1" class="Button1" message="Add-in command generated by Visual ...


2

So, apparently BING sends its "your key is expired" error message under status 200. OpenLayers, quite reasonably, assumed that status 200 meant "O.K." when BING meant "we're too lazy to do this correctly." Naturally, Chrome Developer Tools, FireBug, and Visual Studio did the same thing and reported no problem and until the script tried to run. So note to the ...


2

If you are creating an extension that is only accessed from say desktop then consider developing an AddIn extension as these are much easier to deploy on client machines. If you are creating an extension that makes ArcMap talk to say MS Access then a standard extension (COM) would be required but then you have to register it with the OS and deal with admin ...


2

Here are two examples of getting values from the selected features. This one lists all the values for the feature IMxDocument pMxDocument = ArcMap.Application.Document as IMxDocument; IMap pMap = pMxDocument.FocusMap; ILayer pLayer = pMap.get_Layer(0); IFeatureLayer pFeatureLayer = (IFeatureLayer)pLayer; IFeatureClass pFeatureClass = ...


2

If you really need as assembly to have it's own config you directly load it using this .net code. System.Configuration.ExeConfigurationFileMap fileMap = new System.Configuration.ExeConfigurationFileMap(); fileMap.ExeConfigFilename = "THE PATH TO THE CONFIG"; System.Configuration.Configuration cfg = ...


2

Make sure that all the ESRI interop assemblies (ESRI.ArcGIS.*) your project references have the "Embed Interop Types" flag set to false. You can do this by selecting the reference in the Visual Studio Solution Explorer window and changing the flag in the Properties window.


1

The first thing you should do is put Try..Catch blocks in your code. This will make it much easier to figure out why the code is crashing. Here is an example Private Sub FindSmallestPolygon() 'This requires the feature class to be in a geodatabase 'or has the field "Shape_Area" already calculated with the area Dim pLayer As ...


1

The WebADF is officially deprecated by Esri -- it's not recommended to start new development with that framework. The silverlight, flex and javascript wep APIs should be used going forward. http://resources.arcgis.com/en/help/ If you're comfortable with Visual Studio, you may want to use the Silverlight Viewer for ArcGIS for web mapping. It builds a nice ...


1

Have you tried putting it in a runas call? That is, instead of Command="esriRegasm.exe &quot;$(TargetPath)&quot; /p:Desktop " /> do Command="runas.exe /noprofile /savecred /user:Administrator esriRegasm.exe &quot;$(TargetPath)&quot; /p:Desktop " /> in the build step's command. Alternately, you can edit the shortcut to devenv.exe ...


1

The machines where you deploy the toolbar must be at the same version & service pack or lower. In your solution expand the References and highlight all the Esri references. In the properties for the Esri references make sure the property for 'Specific Version' is set to False. Also, the user installing the toolbar must have priviledges to write to the ...



Only top voted, non community-wiki answers of a minimum length are eligible