Migrate Old MDL To Connect

Hey Everyone!

I have an MDL that was made for older versions of Microstation before Connect and I want to build it to work with Microstation Connect. I have downloaded the Microstation Connect SDK and have searched through its documentation as well as online but I haven't found anything stating how this is done exactly. Additionally, I have very little experience with MDLs and I did not make the one I am trying to upgrade so that makes this even tougher for me.

The first thing I have noticed is that the MKE file for my MDL requires .dlo files to be inside of the Library folder but my SDK doesn't contain them. Do I have to build them somehow or is this something that has changed? If I remove mention of these .dlo files and attempt to build it, I am prompted to open the make.opt file for some reason and once I hit cancel on the opening of the file I get a an error saying 'BMAKE: Could not set file time -- check dependencies'.

What exactly am I doing wrong and is there some additional step I should be doing? I basically have just took the old mdl then copy and pasted it then made a few changes to the paths in the make file but I haven't made any other changes.

Here is the command I am using to build it through the Connect SDK CMD:
BMAKE -dNO_COMPILERS_MKI -dBUILD_USING_NOTOOLSET "C:\Projects\TestApp-ma\TestApp"

Here is my make file (I have removed some of the comments to shrink it down):

appName = TestApp
baseDir = C:/Projects/TestApp-ma/
ms = C:/Progra~1/Bentley/MicroStationCONNECTSDK
objectDir = $(baseDir)objects/
mdlLibs = $(ms)/library/
privateInc = $(baseDir)
langSpec = $(baseDir)
libraryExt = ml


#------------------------------------------------------------------------
# mdl.mki contains the default rules for creating .rsc, .mo, etc files
#------------------------------------------------------------------------
%include $(ms)/mki/mdl.mki

#------------------------------------------------------------------------
# Define macros for files included in our link and resource merge
#------------------------------------------------------------------------
bclassObjs = \
$(objectDir)$(appName).mo \
$(mdlLibs)ditemlib.dlo \
$(mdlLibs)rasterlib.dlo \
$(baseDir)TestApp.dlo

bclassRscs = \
$(objectDir)$(appName)cmd.rsc \
$(objectDir)$(appName)typ.rsc \
$(objectDir)$(appName).mp

#------------------------------------------------------------------------
# Generate command table include & resource file using rcomp
#------------------------------------------------------------------------
$(baseDir)$(appName)cmd.h : $(baseDir)$(appName)cmd.r

$(objectDir)$(appName)cmd.rsc : $(baseDir)$(appName)cmd.r

#------------------------------------------------------------------------
# Create & compile the app's type resource using rsctype & rcomp
#------------------------------------------------------------------------
$(objectDir)$(appName)typ.r : $(baseDir)$(appName)typ.mt \
$(privateInc)$(appName).h

$(objectDir)$(appName)typ.rsc : $(objectDir)$(appName)typ.r

#------------------------------------------------------------------------
# Compile the MDL source object file using mcomp
#------------------------------------------------------------------------
$(objectDir)$(appName).mo : $(baseDir)$(appName).mc \
$(baseDir)$(appName).h \
$(baseDir)$(appName)cmd.h

#----------------------------------------------------------------------
# The following section generates the MDL Program module using 
# mlink. This module should contain ALL CODE resources and/or 
# libraries used by the application.
#----------------------------------------------------------------------
$(objectDir)$(appName).mp : $(bclassObjs)
$(msg)
> $(objectDir)make.opt
-a$@
-csoff
-s200000
$(linkOpts)
$(bclassObjs)
<
$(MlinkCmd) @$(objectDir)make.opt
~time

#----------------------------------------------------------------------
# The following section generates the MDL Intermediate module using 
# rlib. This module contains the MDL CODE module and any 
# non-translatable resource modules.
#----------------------------------------------------------------------
$(objectDir)$(appName).mi : $(bclassRscs)
$(msg)
> $(objectDir)make.opt
-o$@
$(bclassRscs)
<
$(RLibCmd) @$(objectDir)make.opt
~time

%include $(baseDir)$(appName)rsc.mki

Parents
  • Significant changes have occurred in MicroStation CONNECT Edition that impact all MicroStation V8i and prior MDL applications.  Consider one of the following options to help determine a best path forward for starting points migrating MDL applications:

    1. If your company does not have developers available for the migration task consider contacting the Bentley Professional Services team for a timely service engagement.
    2. If your company has developers available with C++/C programming experience, consider enrolling into a scheduled MicroStation CONNECT Edition Migration Workshop, free to BDN SELECT or commercial developers.
    3. If you are a new to programming or CADD administrator with some programming abilities, consider examining what each MDL application's task was and determine what MDL applications require migration:

      • Do new product features and workflows already perform all or most the MDL application's functionality?
      • Do new product features and workflows invalidate using older features or workflows?
      • Is the MDL application still used by production team members?
      • Can the task be performed by a MicroStation VBA application?

    Hopefully one of the options listed can get you started in the best direction forward.
    Bob



Reply
  • Significant changes have occurred in MicroStation CONNECT Edition that impact all MicroStation V8i and prior MDL applications.  Consider one of the following options to help determine a best path forward for starting points migrating MDL applications:

    1. If your company does not have developers available for the migration task consider contacting the Bentley Professional Services team for a timely service engagement.
    2. If your company has developers available with C++/C programming experience, consider enrolling into a scheduled MicroStation CONNECT Edition Migration Workshop, free to BDN SELECT or commercial developers.
    3. If you are a new to programming or CADD administrator with some programming abilities, consider examining what each MDL application's task was and determine what MDL applications require migration:

      • Do new product features and workflows already perform all or most the MDL application's functionality?
      • Do new product features and workflows invalidate using older features or workflows?
      • Is the MDL application still used by production team members?
      • Can the task be performed by a MicroStation VBA application?

    Hopefully one of the options listed can get you started in the best direction forward.
    Bob



Children