POST
|
Thank you Kirk and Wolf for your prompt responses. I think we need to rethink our launch process for the Pro App. Launching Pro with certain configuration arguments seems a stable solution to me. Thank you Wolf for the tip about replacing the splash, I will take a look at that...
... View more
03-16-2021
12:47 AM
|
0
|
0
|
735
|
POST
|
Hello dear SDK-Dev-Team Is it possible to trigger the update of the DAML XML Database in the ConfigurationManager a second time? In detail: We have written a Configuration AddIn for Pro and use an ArcGIS.Desktop.Framework.Contracts.ConfigurationManager Instance. In this ConfigurationManager we override the method protected override void OnUpdateDatabase(XDocument database)
{
EvaluateDatabase(database);
} ...and modify the DAML XML tree. However: After we pop up our Custom Start Page, we want to make some subsequent modifications to the DAML XML. Since on our Start Page some information of which buttons and groups should be visible have been selected... My question: Is it possible to trigger the update of the DAML XML database and thus the build of the Pro application a second time from a Custom Start Page? How can this be achieved programmatically? Thanks a lot in advance for your suggestions. Greetings Karl
... View more
03-15-2021
12:58 AM
|
0
|
3
|
820
|
POST
|
We use a WPF DataGrid inside a ArcGIS Pro Pane with custom styling as suggested by the ArcGIS Pro SDK Style Guide But if we declare our DataGrid like this, all cells become disabled. <DataGrid Grid.Row="3"
ItemsSource="{Binding Path=SelectedMember.PropertyDefinitions}"
Style="{DynamicResource Esri_DataGrid}"
ColumnHeaderStyle="{DynamicResource Esri_DataGridColumnHeader}"
CellStyle="{DynamicResource Esri_DataGridCell}"
AlternatingRowBackground="LightGray"
CanUserAddRows="True"
CanUserDeleteRows="True"
AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Binding="{Binding Path=Name}"></DataGridTextColumn>
<DataGridTextColumn Header="Display Name" Binding="{Binding Path=DisplayName}"></DataGridTextColumn>
<DataGridTextColumn Header="Category" Binding="{Binding Path=Category}"></DataGridTextColumn>
<DataGridTemplateColumn Header="Column">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Column}"></TextBlock>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<ComboBox ItemsSource="{Binding Columns}" SelectedItem="{Binding Column}"></ComboBox>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>
<DataGridCheckBoxColumn Header="Visible" Binding="{Binding Path=IsVisible}"></DataGridCheckBoxColumn>
<DataGridCheckBoxColumn Header="Read Only" Binding="{Binding Path=IsReadOnly}"></DataGridCheckBoxColumn>
</DataGrid.Columns>
</DataGrid> There's no chance to edit a cell value by double clicking anymore. Do we miss something? If we do not set custom styles everything works like we would like to have it...
... View more
03-11-2019
08:31 AM
|
0
|
3
|
1689
|
POST
|
Hi, We're working with a Geodatabase instance that comes from a feature service (Connector is ServiceConnectionProperties, URL is like 'https://localhost/server/rest/services/MyService/FeatureServer '). There's also a map server available to our URL that exposes a Server Object Extension that we want to call in the same context as the geodatabase (like ''https://localhost/server/rest/services/MyService/MapServer/exts/MySoe/MyRestApi'). But since this is an HTTPS Uri all calls to REST endpoints need to have a token. Can somebody tell me how to retrieve the token that is currently used with the (Service) Geodatabase so that I can use it for my further calls to the SOE? Though I can retrieve a Token from the active portal I'm currently connected using var arcGisPortalManager = ArcGISPortalManager.Current; var arcGisPortal = arcGisPortalManager.GetActivePortal(); var token = arcGisPortal?.GetToken(); but that's not neccessary the token that is used by this Feature Service. So in short: How can I retrieve the token from the Geodatabase? Many thanks in advance! Karl
... View more
02-18-2019
09:34 AM
|
0
|
1
|
610
|
POST
|
Thanks Dan, actually I'm working on a SDE, trying to setup an Utility Network. I'll check the issue with my staging file geodatabase and give you some feedback soon...
... View more
02-28-2018
11:32 PM
|
0
|
0
|
581
|
POST
|
Hi, I'm trying to add a couple of fields using the "AddFields_management" from the arcpy that comes with ArcGIS Pro. But when I try to do so, I get an error message that tells me: arcgisscripting.ExecuteError: ERROR 000378: Invalid Long type. ERROR 000852: Cannot add field CLASS_ID to F:\Projects\root@Demo2.sde/Demo2.ROOT.StructureLine What I'm, trying to do is: add_fields = []
add_fields.append(['CLASS_ID', 'LONG', 'CLASS_ID', None, None)])
add_fields.append(['SUBTYPE_ID', 'SHORT', 'SUBTYPE_ID', None, None)])
arcpy.AddFields_management("F:\Projects\root@Demo2.sde/Demo2.ROOT.StructureLine", add_fields) I'm lost here. I have no idea why I'm not able to add this field. Interesting: When I'm going to add those fields sequentially using arcpy.AddField_management everything works as expected. Unfortunatelly this is not an option, since I'm going to add a lot of fields to that table (more than 40), which costs a lot of time when I'm doing it field after field (more than a hour per table!) Do you have any ideas how to use arcpy.AddFields_management properly? Thanks in advance! Karl
... View more
02-27-2018
09:40 AM
|
0
|
2
|
1759
|
POST
|
Hi Thomas, thanks for your comment. Unfortunately we're not able to find a class with name "FeatureService" in the ArcGIS Pro SDK - the only class that allows me to handle calls to a datastore which is a feature service is the Geodatabase class: ArcGIS Pro 2.1 API Reference Guide But what we found out is, that our feature service consist out of feature classes that are commited to branch versioning and standalone tables that are not versioned at all. We can query now only datasets which are (branch) versioned. Thus means, that if you publish a feature service that contains versioned datasets you need to ensure that all dataset that are about to be queried as well are properly versioned (including Global IDs and Editor Tracking) Thus making things a little bit tricky...
... View more
02-21-2018
04:19 AM
|
0
|
1
|
1163
|
POST
|
We have a Geodatabase that is connected to a SDE as well as a Geodatabase that is derived from a feature service. Both, SDE and Feature Server point to a database that maintains an Utility Network. In both cases we're not able to iterate through the feature definitions using the Pro SDK: var sdeGeodatabase = new Geodatabase(new DatabaseConnectionFile(new Uri(@"D:\Dokumente\ArcGIS\Packages\ElectricDistributionUtilityNetwork_9C8DDAA7-E710-43A4-9CF4-D136FEBD0B6D\utroot@vhm-sqlserv2016-UTProESRISampleData.sde"))); var serviceGeodatabase = new Geodatabase(new ServiceConnectionProperties(new Uri(@"https://vhm-ut-portal.nbb.intern.aed-sicad.de/server/rest/services/Electric_Distribution_Utility_Network/FeatureServer"))); // Those calls working properly, retrieving the Standalone Tables... var tableDefinitions1 = sdeGeodatabase.GetDefinitions<TableDefinition>().ToList(); // works var tableDefinitions2 = serviceGeodatabase.GetDefinitions<TableDefinition>().ToList(); // works // Those calls fail, bringing up a COM Error-Message var featureClassDefinition1 = sdeGeodatabase.GetDefinitions<FeatureClassDefinition>().ToList(); // Error var featureClassDefinition2 = serviceGeodatabase.GetDefinitions<FeatureClassDefinition>().ToList(); // Error In both cases the call to Geodatabase.GetDefinitions<FeatureClassDefinitions>() results in the following error message: System.Runtime.InteropServices.COMException: 'Ungültige Klassenzeichenfolge (Ausnahme von HRESULT: 0x800401F3 (CO_E_CLASSSTRING))' Sorry for the german here, translation is 'Invalid Class String' - HRESULT: 0x800401F3 We assume that it might have something to do with the Utility Network (especially the internal UN Business Tables) which might cause this issue. Retrieving a FeatureDatasetDefinition first is not an option, since a Feature Server does not support that. Thanks for your suggestions. Would be great if we can resolve that somehow... Greetings Karl
... View more
02-19-2018
08:17 AM
|
0
|
0
|
309
|
POST
|
Hi there, we discovered a strange error message, when we tried to use a query filter in combination with a feature service. Our repro case is as following: var geodatabase = new Geodatabase( new ServiceConnectionProperties( new Uri( @"https://myportal.aed-sicad.de/server/rest/services/Electric_Distribution_Utility_Network/FeatureServer"))); var table = geodatabase.OpenDataset<Table>("L1503UT_CLASSGROUPS"); var rowCursor = table.Search(null, true); var moveNext = rowCursor.MoveNext(); this gave us the error message: System.Runtime.InteropServices.COMException: 'Ein Ereignis konnte keinen Abonnenten aufrufen. (Ausnahme von HRESULT: 0x80040201)' Sorry for the german text here, translation is "An event could not call a subscriber." - The HRESULT is 0x80040201 The 'Table' "L1503UT_CLASSGROUPS" refers to a standalone table that is part of the layers that are published with the feature service: Table name is "UT_CLASSGROUPS" the Layer ID is "1503". The 'Table' can be openend properly. A Table.Search(...) yields into the error above. Our Pro-Version is 2.1.1 Thanks you for any ideas of how to resolve that... Greetings Karl
... View more
02-19-2018
07:48 AM
|
0
|
3
|
1423
|
POST
|
Hi Carsten, as far as I understand, PDBs are side-loaded using the codebase of the assembly in question. If you do an EsriRegasm, the assembly, even if you put it into the GAC as well, is registered with the codebase that points to the directory where the assembly was located at that time. Have a look in to the registry HKCR\CLSID\ {D8F25094-0F43-4aea-83C6-8DE4187101C9} to find out where. Please make sure as well that the correct 32bit EsriRegasm from %ProgramFiles(x86)%\ArcGIS\bin is used. %ProgramFiles%\ArcGIS\bin contains a EsriRegasm.exe for 64bit (in case ArcGIS Server has been installed) Last option is to use a DEVPATH: How to: Locate Assemblies by Using DEVPATH | Microsoft Docs - That makes sense on a developer machine, where you need full control about how assemblies get loaded without the need to put assemblies into the GAC HTH + Greetings Karl
... View more
11-29-2017
08:20 AM
|
0
|
1
|
570
|
POST
|
Hi, use IGeoDataServer.CreateReplica(...) if you need to do replication in a "disconnected environment", where your parent database can make NO connection to your replica database. If you want to replicate your data DIRECTLY into a replica (file) geodatabase you need to switch to a "connected environment". In that case you have to make use of the IReplicationAgent Interface from the ESRI.ArcGIS.GeoDatabaseDistributed module: IGeoDataServer parentGeoDataServer = ... IWorkspace myFileGdbWorkspace = ... IGeoDataServer childGeoDataServer = ... // init from myFileGdbWorkspace ... IReplicationAgent replicationAgent = new ReplicationAgentClass(); IGPReplicaOptions replicaOptions = ... replicationAgent.CreateReplica( parentGeoDataServer.DefaultWorkingVersion, parentGeoDataServer, childGeoDataServer, ... Hope that helps...
... View more
04-20-2017
12:17 AM
|
0
|
1
|
438
|
POST
|
We run into the same issue. Especially with 10.0. It got a little bit better with 10.2, but still performance of this silly function is very very poor. We finally ended up with code where we read SDE.GDB_ITEMS =>directly<=: SELECT UUID into $1 FROM GDB_ITEMTYPES WHERE Name = 'Replica' SELECT NAME FROM GDB_ITEMS WHERE TYPE = $1 This was the fastest way to get the names of the replicas. But: You get a string instead of an IReplica Handle...
... View more
11-28-2016
04:17 AM
|
1
|
0
|
295
|
POST
|
Hi Carlos, can you be a bit more precise on what kind of autocompletion do you want to achive? First of all: Autocompletion is a feature of your underlying GUI library. In case you have to deal with Windows Forms, have a look here: https://msdn.microsoft.com/de-de/library/system.windows.forms.textbox.autocompletemode(v=vs.110).aspx -Karl
... View more
11-28-2016
04:05 AM
|
0
|
0
|
210
|
POST
|
You should consider using an InsertCursor together with a recycling RowBuffer to implement an insert that performs well. In your case you do a IRow.Store together with a dedicated ITable.CreateRow on every single item. This seems to be a bad idea... Use: ITable table = ...
IRowBuffer rowBuf = table.CreateRowBuffer();
ICursor insertCursor = table.Insert(true);
foreach (var entry in entries)
{
IFields fields = rowBuffer.Fields;
int fieldIndex = .... // Resolve your field index from column name
object o = ... // Resolve your value from field index
rowBuffer.SetValue(fieldIndex, o);
insertCursor.InsertRow(rowBuf);
}
insertCursor.Flush();
HTH + Cheers Karl
... View more
11-28-2016
03:52 AM
|
2
|
0
|
378
|
POST
|
Esri copies the AddIn into an Esri-self-handled sort of Assembly Cache. IMHO: Any "non DLL" data that is enclosed by the given AddIn-Zip will not be available to the caller directly. When I stumbled upon that issue I introduced the file that I needed later as "resources" into one of the assemblies from my AddIn and loaded them by using the "Assembly.GetManifestResourceStream" method from System.Reflection. Maybe that can help in your case? I assume that your "CefSharp" instance needs them instantly? Maybe create a wrapper around that 3rd party component and preload the required files as resources from your assembly and place them into their dedicated spot then just before you make use of your 3rd party component... HTH
... View more
10-17-2016
01:17 AM
|
2
|
0
|
337
|
Title | Kudos | Posted |
---|---|---|
1 | 09-12-2016 02:02 AM | |
1 | 09-14-2016 06:20 AM | |
1 | 11-28-2016 04:17 AM | |
2 | 11-28-2016 03:52 AM | |
2 | 10-17-2016 01:17 AM |
Online Status |
Offline
|
Date Last Visited |
04-16-2022
08:24 AM
|