Page 14 - Upgrading to ExtendSim 10
P. 14

If You Have Created Custom Blocks
 Before using ES10 to open a custom library or open any model that uses custom blocks created in releases prior to 10, note the following:
If your custom blocks have external source code
 First remove the external code using your current release (e.g. ExtendSim 9.2).
 Then COPY your custom libraries (with the external source code removed) into the ExtendSim10/Libraries folder.
If your blocks use includes you’ve developed from scratch
 Copy your custom includes into the ExtendSim10/Extensions/Includes folder.
If your blocks use the includes that shipped with ExtendSim 9.2.0 or earlier


If your custom blocks use modified v9 includes that we sent to you after 9.2.0

BEFORE OPENING ANY MODELS, USE THE ES10 LIBRARY MENU TO OPEN CUSTOM LIBRARIES AND TEST THAT THE YOU’VE PROPERLY MADE THE ABOVE CHANGES!
For includes that shipped with ExtendSim 9.2.0, you don’t have to change block code or include suffixes (e.g. change
“Distributions v9.h” to “Distributions v10.h”) until you want to. In addition to the v10 includes, ES10 ships with the
includes from 9.2.0; they are located in the ExtendSim10/Extensions/Includes/Legacy 9.2.0 folder.
For includes shipped with ExtendSim releases prior to 9.2, rename copies of those includes, put those renamed includes
into the ExtendSim10/Extensions/Includes/Legacy 9.2.0 folder, and change your block code to use those includes.



Those changes are already in the ES10 includes. You can either change your block code to use the v10 includes or copy
the modified includes from ExtendSim 9.2 into the ExtendSim10/Extensions/Includes/Legacy 9.2.0 folder such that
they replace the non-modified v9.2 includes.
Other Things to be Aware of for Custom Blocks
The first time you open custom libraries in ES10 or open models that use custom blocks, the libraries will automatically
convert to ES10, recompile, and get saved as copies with the extension “.lbr” (rather than “.lix”). That process also
protects your prior-release libraries from being overwritten.
Since libraries have a different extension in ES10, if you use the extension with the library name anywhere in your code
you will need to change the extension. Common places where this could occur are in FileIsOpen, OpenExtendFile,
PlaceBlock, and so forth.
The new right-click-connect feature for adding and connecting blocks is database-based and can be adapted for your
custom blocks. You can increase the number of common blocks, add your custom blocks, and so forth. Speak with an
ExtendSim support person so your changes don’t get overwritten whenever ES10 is updated.
 If any of your blocks are based on an ExtendSim equation-based block: 

 Regarding DLLs or Shared Libraries: 
Line break and line feed changes in ES10 require that you alter your code. For assistance, see the “12/21/2016”
comment in the Equation v10.h include file.
Since ES10 is a 64-bit application, the external applications that your custom blocks exchange data with, as well as the
drivers used to exchange that data, must be 64-bit compatible. This primarily applies to external applications using
ODBC and ADO.
12
DLLs or Shared Libraries called by ExtendSim must be built for 64-bit execution. Either recompile your current 32-
bit DLL as a 64-bit DLL or obtain a 64-bit version of the DLL from the vendor.


































































































   11   12   13   14   15