POST
|
Bijoya Ganguli, Unfortunately, I don't think this group will be able to provide you with any help. I'm not familiar with DSAS, but it looks like an ArcMap add-in published by USGS.
... View more
02-03-2020
03:53 PM
|
0
|
0
|
1152
|
POST
|
Here's a good summary I copied from this link: At version 10, ArcGIS no longer reads the system registry to load custom components. Components registered into categories using RegSvr32.exe (for native code) and RegAsm.exe (for managed code), or by using any other means of registration (such as using .reg files), will no longer be loaded by ArcGIS. Instead, developers should use ESRIRegAsm.exe to register their components. This utility handles the registration of the .dll and the category information by creating a configuration file (.ecfg). The configuration file is read by an ArcGIS application at runtime to load custom components. This configuration must reside in the appropriate product and version configuration folder. For example, ArcGIS 10 Desktop customizations reside in the following location: %CommonProgramFiles%\ArcGIS\Desktop10.0\Configuration\CATID If you're curious about the contents of the .ecfg file, make a copy of the file and rename the extension .zip. It contains an XML file with the registry information needed to discover your extension. As for your problem, try adding /v 10.6 to your Esriregasm.exe call: %CommonProgramFiles(x86)%\ArcGIS\bin\ESRIRegAsm.exe extention.dll /p Desktop /v 10.6
... View more
06-28-2019
09:11 AM
|
0
|
0
|
272
|
POST
|
The ArcObjects SDK you're using is STA (single threaded apartment) and so you shouldn't access an ArcObject/COM object created in one thread from another; this violates the apartment rule. Here's a good link explaining how to accomplish multithreading with ArcObjects. Essentially your background thread will need to instantiate all the ArcObjects it needs first (don't pass references to ArcObjects from your UI thread). You can pass simple types like strings (e.g., database connection string you want to create the replica on) to your background thread. Another way to keep your UI responsive would be to create a TrackCancel. When you check it to continue, the UI is given some processing time. You may still experience periodic UI freezes when making an ArcObject call which takes some time (such as registering the replica), but checking to continue throughout helps mitigate it. ESRI.ArcGIS.esriSystem.ITrackCancel ipTrackCancel = new ESRI.ArcGIS.Display.CancelTrackerClass(); ESRI.ArcGIS.Framework.IProgressDialogFactory ipProgressDlgFactory = new ESRI.ArcGIS.Framework.ProgressDialogFactoryClass(); ESRI.ArcGIS.esriSystem.IStepProgressor ipStepProgressor = ipProgressDlgFactory.Create(ipTrackCancel, Application.hWnd); ipStepProgressor.MaxRange = ...; // How many steps do you want in your process until completion ESRI.ArcGIS.Framework.IProgressDialog2 ipProgressDlg2 = ipStepProgressor as ESRI.ArcGIS.Framework.IProgressDialog2; ipProgressDlg2.Title = ...; ipProgressDlg2.Description = ...; ipProgressDlg2.ShowDialog(); ... if (!ipTrackCancel.Continue()) { return; } ipStepProgressor.Message = ... ipStepProgressor.Position++; // One step closer to MaxRange
... View more
06-27-2019
09:00 AM
|
0
|
0
|
434
|
Online Status |
Offline
|
Date Last Visited |
11-11-2020
02:24 AM
|