|
POST
|
Dirk- Could you use Python/ geoprocessing to build a cache of this information, and then access it from within the editoperation-callback? I don't have any other suggestions in the short-term, but I'll add this for consideration in a future release. --Rich
... View more
02-14-2020
02:14 PM
|
0
|
0
|
1030
|
|
POST
|
Hi Dirk, This information isn't available through the Pro SDK. Could you share some more information about what you are trying to accomplish? Thanks, --Rich
... View more
02-13-2020
12:15 PM
|
0
|
2
|
1030
|
|
POST
|
Yes, this is correct. More information about multithreading in the Pro SDK is available here: ProConcepts Framework · Esri/arcgis-pro-sdk Wiki · GitHub
... View more
02-11-2020
01:23 PM
|
1
|
0
|
2409
|
|
POST
|
Queued Task sets up code so that it runs on the Main CIM Thread. This is a special thread used to access the geodatabase. So the behavior you are seeing is correct. --Rich
... View more
02-10-2020
11:55 AM
|
1
|
0
|
2409
|
|
POST
|
Hi Mike, The way this is typically done is to use subtype group layers with your utility network feature classes. Each sublayer will reference a particular asset group. You can then bring up the field definition for that layer and hide fields as necessary (and give them better aliases, too). You can then publish this map to ArcGIS Enterprise so that you can share it across your organization. I hope this helps, --Rich
... View more
02-07-2020
07:18 AM
|
5
|
1
|
1557
|
|
POST
|
Yes, this is the best way. I would recommend the following small changes. Remove the WhereClause (which isn't really doing anything, since ObjectIDs should always be greater than zero) Use the Subfields property to reduce the amount of data being read from the database On the call to Table.Search, set the useRecyclingCursor property to True --Rich
... View more
02-05-2020
12:43 PM
|
2
|
1
|
1118
|
|
POST
|
The RemoveStandaloneTable() method must be called on the MCT. Try this: QueuedTask.Run(()=>
{
map.RemoveStandaloneTable(table);
}
See Working with Multithreading in ArcGIS Pro for more information.
... View more
01-28-2020
04:27 PM
|
1
|
1
|
1794
|
|
POST
|
I'm not aware of any way to refresh a single layer, but I'm not an expert in that area.
... View more
01-28-2020
03:23 PM
|
0
|
0
|
2861
|
|
POST
|
How are you updating the features? Database triggers? Editing using the Pro SDK (if done within an EditOperation) or using attribute rules should both cause the map to be redrawn as needed automatically. --Rich
... View more
01-28-2020
03:00 PM
|
0
|
2
|
2861
|
|
POST
|
David, I have some follow-up questions. 1) I assume you are using traditional versioning, and not branch versioning, right? 2) You're trying to run this as a Pro add-in, right? I'm suspicious that your threading routines could be causing an issue. These geodatabase routines are designed for use on the MCT. In Pro, this means putting them inside QueuedTask.Run. --Rich
... View more
01-27-2020
09:35 AM
|
0
|
1
|
1324
|
|
POST
|
Hi David, Do you have a short coding snippet you could share? --Rich
... View more
01-23-2020
10:08 AM
|
2
|
3
|
1324
|
|
POST
|
Hi Jimmy, I've reviewed all of your code and cannot find anything wrong. You shouldn't have to reconcile to get version differences (and of course, if you do, you'll get a different list). Some questions: Can I assume you are using traditional versioning, and not branch versioning? Is the version you are trying to get differences for a direct child of Default? (as opposed to a grand-child) --Rich p.s. This line of code is going to create, but not dispose, of a large number of Version objects, along with the VersionManager: var defaultversion = versiongdb.GetVersionManager().GetVersions().First(v => v.GetParent() == null); It should have no impact whatsoever on your test results, but I recommend using the snippet found here. Again, this is completely independent from the results you're seeing- just noticed it and thought I would mention it.
... View more
01-21-2020
03:50 PM
|
0
|
2
|
5275
|
|
POST
|
John, I haven't analyzed all of your code, but this loop in AppendOptionAsync is going to keep locks around: if (sATbl.GetTable().GetDatastore().GetPath().ToString().Contains(selGDBitem))
{
removalStandAloneTables.Add(sATbl);
sATbl.GetTable().Dispose();
} Here's a better way to do this: using (Table myTable = sATbl.GetTable())
using (Datastore myDatastore = myTable.GetDatastore())
{
if (myDatastore.GetPath().ToString().Contains(selGDBitem)) {
removalStandAloneTables.Add(sATbl);
}
}
Here I'm disposing both the table and the datasource. Likewise, this code isn't doing what you want it to: foreach (var t in removalStandAloneTables)
{
t.GetTable().Dispose();
}
removalStandAloneTables.First().GetTable().GetDatastore().Dispose();
The loop portion is getting a table pointer, and then removing it (no effect whatsoever). The last line is getting a table point, then getting a datastore pointer, then disposing the datastore pointer (leaving the table pointer behind). You can remove this entire code block. There's more documentation on how to properly dispose of geodatabase objects here. --Rich
... View more
01-17-2020
08:41 AM
|
2
|
1
|
2332
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 12-10-2025 09:15 AM | |
| 2 | 11-30-2025 12:23 PM | |
| 1 | 07-17-2025 08:47 AM | |
| 1 | 08-12-2022 01:35 PM | |
| 1 | 06-28-2018 04:25 PM |
| Online Status |
Online
|
| Date Last Visited |
2 hours ago
|