The primary reason that a number of you will be using this ArcFM 10 beta is to test your custom code. The information below was posted to our company blog ArcFM Buzz
and has been copied here for reference.
Credit to the content below goes to David Newman. You can find his post at:http://arcfmbuzz.telvent-gis.com/2010/08/migrating-you-custom-code-to-arcgis-arcfm-10/
In the move to ArcGIS 10.0, and to the corresponding 10.0 release of ArcFM,
there are a number of issues that may arise if you have written custom software
on top of those environments. In this note, I’d like to sumarrize some of what
the ArcFM 10 team has learned in moving to ArcGIS 10 in the hope that it will
make your life easier in making the same transition.
First, if your custom code uses ArcGIS categories to integrate into ArcGIS, you
may have used RegisterInCat.exe to register your .dlls in the proper
categories. ESRI changed the way that categories are handled in ArcGIS 10.0,
and as a result, RegisterInCat.exe is no longer the right tool for this job. In
the past, categories were stored in the registry, and RegisterInCat.exe
manipulated the registry to insert new executables into the proper categories.
You may also have used RegX.exe to register .dlls into categories, since in the
past it created .reg files suitable for adding the appropriate registry entries
to the registry using standard Windows tools. Now, however, the associations
between .dlls and the categories they implement are stored in files with the
suffix .ecfg, and these files are stored in standard locations to be loaded
when an ArcGIS application launches. The latest version of RegX.exe knows how
to create .ecfg files and where to put them. RegX’s default behavior is to
generate a .ecfg file for a .dll and put it into the proper location where
ArcGIS desktop application will find it. Various options allow you to create
.ecfg files for ArcGIS engine applications, and to uninstall .ecfg files. For
more information about RegX.exe, see the documentation or the help prompt
available by running it without any arguments.
Second, if your custom code detected whether it was running in the ArcMap
environment or the ArcCatalog environment by obtaining a reference to the
application and testing to see if it was an IMxApplication or an IGxApplication,
you may need to handle this differently, depending on the logic of your test.
In ArcGIS 10.0, ArcMap implements IGxApplication as well as IMxApplication.
This means that if your test assumed that the application was ArcCatalog if
the application implemented IGxApplication, you will need to change the logic
of that test. ArcMap now implements the functionality of
ArcCatalog in a catalog window. An alternative is to use the Telvent
MMRuntimeEnvironment object, which will definitively
return the current application context your code is running under.
Third, if any of your custom code is written in Visual Basic 6, you will need
to decide how quickly to respond to ESRI’s recommendation that you migrate away
from VB6 to another language. VB6 is not supported in ArcGIS 10
applications, and Microsoft will remove support for VB6 after Windows 7.
However, it may not be feasible to migrate all your VB6 code to another
language before migrating to ArcGIS 10, and while it’s not supported, most VB6
code can be made to work with ArcGIS 10. In order to allow you to continue to
use your existing VB6 code while you work to migrate it to another language,
ESRI will provide Visual Basic for Applications free of charge for ArcGIS 10
clients who request it. This, together with RegX.exe (which allows Telvent
clients to register VB6 components with ArcGIS 10 even though that’s not
supported by ESRI), buys you some time to migrate away from VB6 more
deliberately than if you needed to perform the migration in order to use ArcGIS
These are three of the bigger potential stumbling blocks in the path to
ArcGIS 10.0. If you’re aware of other significant differences between
ArcGIS 9.3.1 and ArcGIS 10.0 that could cause trouble for those migrating
from one to the other, please leave a comment.