|
POST
|
Just because you have many users doesn't mean you can't take one test workstation and do some tests such as clean install or install SP3. Once you narrow down the problem or get a fix, you can think of deploying more widely. I doubt you have deployed a solution which declares one variable and instantiates it and does nothing else on all your users' workstations. If this sort of suggestion doesn't help, you should consider going to esri support for a definitive answer, this is just the forum, we are users too. But if it works at SP3 or SP4 or even 10.1, chances are they will tell you to go to that version.
... View more
03-20-2012
09:24 AM
|
0
|
0
|
348
|
|
POST
|
Lack of binding or license checkout would give you a different error. Do you have old versions of python hanging around? I had some problems with that and using the geoprocessing tools in the desktop interface.
... View more
03-20-2012
07:55 AM
|
0
|
0
|
2304
|
|
POST
|
Sorry, I got confused with GeoprocessorClass which is a com class, Geoprocessor is a .net class. The first is part of ESRI.ArcGIS.Geoprocessing, the latter is part of ESRI.ArcGIS.Geoprocessor. Running SP3 with framework 3.5, I didn't get an error just creating an instance of the class and letting it go out of scope... I haven't used the Geoprocessor class since 9.2. Could be a bug at 10 SP2. I always use the GeoprocessorClass, the example seem written for this class (I believe it was new to 9.3.)
... View more
03-20-2012
04:58 AM
|
0
|
0
|
2304
|
|
POST
|
Have you tried releasing the object explicitly either with ComReleaser or MarshalComRelease?
... View more
03-19-2012
08:39 AM
|
0
|
0
|
2304
|
|
POST
|
It means you need a developer environment for each ArcGIS version you want to target (usually not SPs.) I find virtual machines work quite well for that. You also need separate dlls (probably also installer) for each target of ArcGIS. Developers have gotten away with not doing that in the past mostly because of the nature of the COM contract, but I wouldn't recommend it. This has changed in ArcGIS 10 so it is not supposed to be so bad in the future, you are supposed to be able to have more that one version of ArcGIS but I have not really looked into it yet so I don't know the details. It depends how tight your development methodology is. In my organization, we would upgrade the developer and staging machines first, compile the new code on 9.3.1, test it on 9.3.1, work out any bugs (new versions have new bugs) and then upgrade and deploy in production. We have tight control of the target machines and the products have to be high availability (24/7) so we would never put a new version of ArcGIS or a service pack or even a new version of a custom dll without doing all that.
... View more
03-15-2012
06:52 AM
|
0
|
0
|
804
|
|
POST
|
The only way to guarantee that a dll customization will work is to compile it for that version specifically. In the past, dll compiled on an older version mostly worked on newer versions but not always.
... View more
03-15-2012
05:33 AM
|
0
|
0
|
804
|
|
POST
|
According to the documentation, the ComReleaser doesn't actually clean anything up until the object reference goes out of scope That is interesting I have never seen that documentation. The documentation I have seen specifies that the ComReleaser uses ReleaseComObject internally (not FinalReleaseComObject mind you...) I wonder if you declared the variable inside the loop, that should make the variable go out of scope at each increment (.NET can some times be fickle about that sort of thing, however.) It seems to me the call to FinalReleaseComObject instead of ReleaseComObject (or ComRelease, which is the same thing) makes the biggest difference here. That and forcing garbage collection. You would expect the garbage collection to kick in automatically and manage the memory itself though, sort of the point of garbage collection in the first place. I use ComReleaser's manageLifetime method most often with cursors and the using block. That way I can call manageLifetime the next line after I instantiate the cursor and that cuts down a lot on forgetting it 20 or 30 lines lower, when I am done with the object. But I will keep this in mind if I have to release resources for memory management purposes...
... View more
03-08-2012
11:43 AM
|
0
|
0
|
2381
|
|
POST
|
that's great! You might consider posting the final code so everyone on the forum could benefit from the solution. Also, if you call gc.collect and waitForPendingFinalizers in main loop, it might slow you down unnecessarily. If your previous code worked for 900 features before running out of memory, maybe calling the collect and waitForPendingFinalizers every 100 features or more might be just as good and much faster. I would be interested in knowing what the difference would be. Also I was wondering about Neil's comment about esri's ComReleaser, I use it all the time and never really thought about it, it seems to work ok (I like to use it with a 'using' block.)
... View more
03-08-2012
10:19 AM
|
0
|
0
|
2381
|
|
POST
|
If you have a two core machine, sounds like your process is tying up one core 100%. Also ArcGIS desktop and engine are 32 bit. In ArcGIS 10, it uses large addressing so ~3 GB is the max RAM it can allot to the one process, in ArcGIS 9.3 it is ~1.5GB. If you monitor the amount of memory used you see if you get the error after you hit those limits. You can also do tests with less data and monitor the memory and see when it gets released after each change without having to run the code all the way to failure each time you try something new.
... View more
03-08-2012
07:36 AM
|
0
|
0
|
2381
|
|
POST
|
the only reason you would need this is if some other bit of code started an operation without stopping it. Depending on what the code before is doing and how, this may not work in some circumstances.
... View more
03-07-2012
07:59 AM
|
0
|
0
|
2345
|
|
POST
|
"Product Availability Available with ArcGIS Desktop." http://help.arcgis.com/en/sdk/10.0/arcobjects_net/componenthelp/index.html#//0023000000rr000000 Mouse cursor is only for desktop applications not engine. If you are developing in .net, you can use a .net mouse cursor on a form.
... View more
03-05-2012
04:39 AM
|
0
|
0
|
1861
|
|
POST
|
yup use the removefromselecteditems on the icontentsview Dim mxd As IMxDocument
Set mxd = ThisDocument
Dim ctView As IContentsView
Set ctView = mxd.ContentsView(0)
ctView.RemoveFromSelectedItems (ctView.SelectedItem)
Dim i As Integer
For i = 0 To mxd.Maps.Count - 1
mxd.Maps.Item(i).Expanded = False
Next
mxd.UpdateContents
... View more
02-29-2012
11:31 AM
|
0
|
0
|
1340
|
|
POST
|
I kicked it up quickly in vba with a simple map with 4 data frames with one layer each. All four dataframes collapsed, provided the that selected element in the TOC is one of the dataframes. If the selected element is one of the layers, the dataframe with the selected layer stays expanded. Sub test()
Dim mxd As IMxDocument
Set mxd = ThisDocument
Dim i As Integer
For i = 0 To mxd.Maps.Count - 1
mxd.Maps.Item(i).Expanded = False
Next
mxd.UpdateContents
End Sub
... View more
02-29-2012
10:39 AM
|
0
|
0
|
1340
|
|
POST
|
seems like my fears of running IWorkspaceFactory.Copy during an edit session (after ICommandItem.execute where the command is saveedits) were unfounded. Calling the save edits command will work.
... View more
02-29-2012
09:04 AM
|
0
|
0
|
1664
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 12-02-2024 10:26 AM | |
| 1 | 07-05-2024 08:45 AM | |
| 1 | 10-05-2022 02:19 PM | |
| 6 | 03-27-2017 01:16 PM | |
| 1 | 05-05-2016 05:46 AM |
| Online Status |
Offline
|
| Date Last Visited |
03-28-2025
07:37 AM
|