Bentley Communities
Bentley Communities
  • Site
  • User
  • Site
  • Search
  • User
  • Welcome
  • Products
  • Support
  • About
  • More
  • Cancel
MicroStation Programming
  • Product Communities
  • Developers and Programming
  • MicroStation Programming
  • More
  • Cancel
MicroStation Programming
MicroStation Programming - Wiki Migrating FAQ
    • Sign in
    • MicroStation Programming - Wiki
    • -MicroStation CONNECT Edition
      • +MicroStation SDK
      • +MicroStation MDL
      • +MicroStation VBA
      • -Training
        • +Common Topics
        • Customizing and Programming MicroStation CONNECT
        • -Developers Migrating to MicroStation CONNECT
          • Migrating VBA to CONNECT
          • Migrating BASIC to CONNECT
          • Migrating FAQ
          • +Workflows
          • Developers Migrating to CONNECT
          • Migrating Topics
          • Users Migrating to CONNECT
        • Getting Started with Managed APIs
        • +Managed (C#) - Step By Step Guide
        • MicroStation CONNECT Developer Training
        • +Native (C++) - Step By Step Guide
      • +Code Examples and Utilities
      • +Code Snippets
    • +MicroStation V8

     
     Questions about this article, topic, or product? Click here. 

    Migrating FAQ

    Frequently asked questions about - migrating code to MicroStation CONNECT.

    Migrating Code

    The following information (paths) are provided to help navigate essential migration resources available and help ensure migrating your custom applications/code to the latest software versions and platforms can be most productive. It is recommended to take the time to follow the information provided in the order presented for topics most relevant to your individual needs and ensure best results.

    Users and Admins having Custom MDL Applications and No Programmers

    • Need Help Upgrading? (User Information on Bentley CONNECT software and services)
    • Advancing to CONNECT Edition (User/admin Getting Started migrating information)
    • MicroStation Blogs (New Features and Updates for this software edition)

    New to the MicroStation SDK and Programmer Resources

    Developers and Programming:

    • MicroStation CONNECT SDK 
    • Developer Training > CONNECT API Training, CONNECT APIs
    • Migrating to CONNECT (Read/Review in order presented)

    Previous Custom MDL Application Developers Migrating to CONNECT (Choosing a Migration Strategy)

    Creating New Code Projects?

    • Explore MicroStation CONNECT APIs: Developer Training, CONNECT API Training, CONNECT APIs 
    • Explore SDK Extras: SDK Previews, SDK Docs > SDKHelp, Visual Studio Extensions > VS2017

      TIP: Check back occasionally for SDK Preview updates

    Migrating MDL Code directly as a "1:1" Migration Project?

    • Migrating to CONNECT (Migration Overview providing additional/subsequent migration steps that may be necessary)

      • Migrate V8 MDL Code 
      • Migrate V7 MDL Code 
      • Migrate VBA Code 
      • Migrate MSBASIC Code

    • MicroStation CONNECT Migration Workshop Materials (Provided in the SDK, or Download)
      • Suggested materials to review under; ..\Documentation\Migration: 

        • Readme.txt (Resources to understand: existing application impacts, new product and API changes)

      • Suggested materials to review under; Workshop\Docs: 

        • MicroStationCONNECT_MigrationWorkshop.pptx (Architectural and Migration Topics Overview)
        • MigrationProcessOverview.pdf (Migration process, code evaluation and prioritization)
        • Resources to get up and running with Bentley Communities.pdf (Programming Resources) 

      • Suggested materials to review under; Using MicroStation x64 Beta 1 MDL SDK:

        • Using MicroStation x64 Beta 1 MDL SDK-v2.pdf (Migration of MyApp example)
    • GeoTechnical Engineering > Migrating Apps
    Raster

    General Recommendations

    Code that relied on the prior (index-based handles) MDL C Container API (mdlCntr); wrt: List, Map and Multimaps; where appropriate can upgrade code to use native C++ std library list and map functionality.
    Code specific to the mdlRaster API use of mdlCntr should consider:

    1. Upgrade code to use Raster C++ API classes and interfaces: DgnRaster*, Raster*, IRaster*
    2. Update your code ensuring:
      • Include: ..\include\RasterCore\RasterCoreAPI.h (includes: both DgnRaster.h and RasterCollection.h)
      • Add the namespace macro USING_NAMESPACE_RASTER (or using namespace Bentley::DgnPlatform::Raster;) to your .cpp files
      • Link ..\library\RasterCore.lib in your .mke files
    3. Upgrade mdlRaster API signatures accordingly to use:
      • mdlRaster_systemAllRasterContainerByModelGet  use DgnRasterVectorR
      • mdlRaster_fileFormat* use: RasterBlockTypeCollectionR, RasterColorModeCollectionR, RasterCompressionTypeCollectionR and RasterFileFormatCollectionR

    Removed and Deprecated

    Item Recommendation
    mdlRaster_systemRasterContainerGet Removed:
    StatusInt mdlRaster_systemRasterContainerGet (DgnRasterVectorR collection);
    Replacement:
    ModelRefIterator modelItr(pRootModel, iteratorType, depth);
    for (DgnModelRefP modelRefP = modelItr.GetFirst (); modelRefP; modelRefP = modelItr.GetNext ())
    {
    for each(DgnRasterP rasterP in DgnRasterCollection::GetRasters(modelRefP))
    {
    if(NULL != rasterP)
    //Do something;
    }
    }

    • Migrating-FAQ
    • Share
    • History
    • More
    • Cancel
    • Robert Hook Created by Bentley Colleague Robert Hook
    • When: Mon, Apr 22 2019 8:21 AM
    • Robert Hook Last revision by Bentley Colleague Robert Hook
    • When: Mon, Feb 7 2022 5:48 PM
    • Revisions: 13
    • Comments: 0
    Recommended
    Related
    Communities
    • Home
    • Getting Started
    • Community Central
    • Products
    • Support
    • Secure File Upload
    • Feedback
    Support and Services
    • Home
    • Product Support
    • Downloads
    • Subscription Services Portal
    Training and Learning
    • Home
    • About Bentley Institute
    • My Learning History
    • Reference Books
    Social Media
    •    LinkedIn
    •    Facebook
    •    Twitter
    •    YouTube
    •    RSS Feed
    •    Email

    © 2021 Bentley Systems, Incorporated  |  Contact Us  |  Privacy |  Terms of Use  |  Cookies