Documentation

    Table of Content
    • CodePorting.Translator Product Family
      • CodePorting.Translator Cs2Cpp
        • Getting Started
          • Product Overview
          • Installation
          • Licensing
          • How to use CodePorting.Translator Cs2Cpp
            • How to Use Command line to translate and build Projects
            • How to Use GUI to translate and build Projects
        • Developer Guide
          • Translating Simple C# Projects
            • Translating Simple Console Application
            • Translating Simple Library
            • Translating Simple NUnit Test
          • Translating Dependent C# Projects
            • Translating Dependent Console Application
            • Translating Dependent Library
            • Translating Dependent NUnit Test
          • Qt support
          • Translating Complex C# Projects
            • How to Convert Complex C# Console Application to C++
            • How to Convert Complex C# Library to C++
            • How to Convert Complex C# NUnit Test to C++
          • What Converts to What
            • AbstractClasses
            • BreakStatements
            • ClassAutoProperties
            • ClassConstructors
            • ClassEvents
            • ClassFinalizers
            • ClassGenericMethods
            • ClassIndexers
            • ClassMethods
            • ClassProperties
            • ClassStaticConstructor
            • ClassStaticMethods
            • ClassStaticProperties
            • ClassVirtualMethods
            • ContinueStatements
            • Delegates
            • DoWhileStatements
            • Enums
            • EnumTypeCast
            • Exceptions
            • ExpectedException
            • ForeachStatements
            • ForeachStatementsStd
            • ForStatements
            • GenericClasses
            • GenericDelegates
            • GenericInterfaces
            • GenericStructs
            • IfStatements
            • LambdaExpressions
            • NestedClasses
            • ReturnStatements
            • SimpleClass
            • SimpleInterface
            • SimpleStruct
            • SimpleTest
            • StandardTypeCast
            • StaticClass
            • SwitchStatements
            • TestWithSetupMethods
            • ThrowStatements
            • TryCatchFinallyStatements
            • TryCatchStatements
            • TryFinallyStatements
            • VarExpressions
            • WhileStatements
          • CodePorting Translator Cs2Cpp Attributes
          • CodePorting Translator Cs2Cpp Configuration File
            • CodePorting.Translator Cs2Cpp Configuration File Structure
            • Attributes in Configuration file
            • Configuration file Nodes
            • Configuration file Options
          • Memory Management Model
            • Memory Management Model Description
            • Using aliasing constructor to create a smart pointer
          • Cmake Support
          • C++ code injection
          • C++ user-defined exception classes
          • Limitations and Bugs
            • Translator Limitations and Bugs
            • Library Limitations and Bugs
            • Cpp Code Injection
        • Release Notes
          • 2022
            • CodePorting.Translator Cs2Cpp 22.6
            • CodePorting.Native Cs2Cpp 22.5
            • CodePorting.Native Cs2Cpp 22.4
            • CodePorting.Native Cs2Cpp 22.3
            • CodePorting.Native Cs2Cpp 22.2
            • CodePorting.Native Cs2Cpp 22.1
          • 2021
            • CodePorting.Native Cs2Cpp 21.12
            • CodePorting.Native Cs2Cpp 21.11
            • CodePorting.Native Cs2Cpp 21.10.1
            • CodePorting.Native Cs2Cpp 21.10
            • CodePorting.Native Cs2Cpp 21.9
            • CodePorting.Native Cs2Cpp 21.8
            • CodePorting.Native Cs2Cpp 21.7
            • CodePorting.Native Cs2Cpp 21.6
            • CodePorting.Native Cs2Cpp 21.5
            • CodePorting.Native Cs2Cpp 21.4
            • CodePorting.Native Cs2Cpp 21.3
            • CodePorting.Native Cs2Cpp 21.2
            • CodePorting.Native Cs2Cpp 21.1
          • 2020
            • CodePorting.Native Cs2Cpp 20.12
            • CodePorting.Native Cs2Cpp 20.11
            • CodePorting.Native Cs2Cpp 20.10
            • CodePorting.Native Cs2Cpp 20.9
            • CodePorting.Native Cs2Cpp 20.8
            • CodePorting.Native Cs2Cpp 20.7
            • CodePorting.Native Cs2Cpp 20.6
            • CodePorting.Native Cs2Cpp 20.5
            • CodePorting.Native Cs2Cpp 20.4
            • CodePorting.Native Cs2Cpp 20.3
            • CodePorting.Native Cs2Cpp 20.2
            • CodePorting.Native Cs2Cpp 20.1
          • 2019
            • CodePorting.Native Cs2Cpp 19.1
            • CodePorting.Native Cs2Cpp 19.2
            • CodePorting.Native Cs2Cpp 19.3
            • CodePorting.Native Cs2Cpp 19.4
            • CodePorting.Native Cs2Cpp 19.4.1
            • CodePorting.Native Cs2Cpp 19.5
            • CodePorting.Native Cs2Cpp 19.6
            • CodePorting.Native Cs2Cpp 19.7
            • CodePorting.Native Cs2Cpp 19.8
            • CodePorting.Native Cs2Cpp 19.9
            • CodePorting.Native Cs2Cpp 19.10
            • CodePorting.Native Cs2Cpp 19.11
            • CodePorting.Native Cs2Cpp 19.12
          • 2018
            • CodePorting.Native Cs2Cpp 18.9
            • CodePorting.Native Cs2Cpp 18.9.1
            • CodePorting.Native Cs2Cpp 18.10
            • CodePorting.Native Cs2Cpp 18.11
            • CodePorting.Native Cs2Cpp 18.12
    1. Home
    2. CodePorting.Translator Product Family
    3. CodePorting.Translator Cs2Cpp
    4. Release Notes
    5. 2018
    6. CodePorting.Native Cs2Cpp 18.10

    CodePorting.Native Cs2Cpp 18.10

    What's on this Page

      • Major Features
      • Full List of Issues Covering all Changes in this Release
      • Public API and Backward Incompatible Changes

    Major Features

    Following improvements and fixes are applied in this regular monthly release:

    1. Null reference error fixed when accessing namespace of XmlAttribute without any namespace set
    2. Fixed runtime error when setting InnerText for XmlNode with no parent XmlDocument
    3. Added missing overloads of XslCompiledTransform::Tranform() methods
    4. Behavior of XmlTextWriter class now matches such of .Net class regarding spaces and EOL symbols
    5. Fixed runtime error when assigning A object only referenced by B object to SmartPtr holding last reference to B
    6. Several potential memory leaks related to WeakPtr usage are fixed
    7. Support of several System::ComponentModel classes was added. Related API is fixed
    8. Issue with XmlTextReader::ReadString() invalidating reader if element is empty is fixed
    9. Incorrect work of Convert::ToString() function with DateTime type is fixed
    10. Translation of concatenation between string and enum types is fixed
    11. Detection of String vs bool overload is switched to fully automatic mode. CppForceStringParam attribute is still available e. g. for String vs TypeInfo cases
    12. Translation of surrogate pairs inside string literals is fixed
    13. Errors detected during Xml files parsing no longer go into stderr by default. To change this behavior, use ASPOSE_LIBXML2_ERROR_OUTPUT_CHANNEL system variable with possible values of ‘stderr’, ‘stdout’, ‘debug’, ‘null’ or ‘file:’
    14. Platform checks are improved in Nuget package
    15. Fixed porter not taking config into account when translating System.Char references
    16. 64-bit integer to string conversions behavior was synchronized with .Net when it comes to trailing and leading spaces. Also, performance is improved
    17. Shorter, more convinient directory name is provided inside release package

    Full List of Issues Covering all Changes in this Release

    KeySummaryCategory
    CSPORTCPP-2242Improve Nuget platform checksImprovement
    CSPORTCPP-2164Remove char16_t references from porterImprovement
    CSPORTCPP-2264Improve directory naming in release archiveImprovement
    WORDSCPP-654libxml2 prints warnings and errors to stderrImprovement
    WORDSCPP-621xmlns attribute returns NullPtr in C++Bug
    WORDSCPP-625XmlNode.SetInnerText cause NullReferenceExceptionBug
    WORDSCPP-609Manually implement or port XmlComparerTask
    WORDSCPP-615Xml written by ported C++ has minor differences from Xml writen by .NETBug
    CSPORTCPP-2182Fix SmartPtr issueBug
    WORDSCPP-648XmlTextReader.ReadString() method should Call MoveToElement() internally.Bug
    PDFCPP-767Fix CsToCppPorter - conversion to stringBug
    WORDSCPP-532Incorrect overload selection for string literals and nullptr vs boolBug
    WORDSCPP-663Incorrect porting of string literal with surrogate pairsBug
    WORDSCPP-655System::Convert::ToInt32(string) can’t parse string with spacesBug

    Public API and Backward Incompatible Changes

    1. Several previously unsupported overloads of System::Xml::Xsl::XslCompiledTransform::Transform() method are added
    2. Support of the following classes is added: System::ComponentModel::AsyncCompletedEventArgs, System::ComponentClass::BackgroundWorker, System::ComponentWorker::ProgressChangedEventArgs, System::ComponentModel::RunWorkerCompletedEventArgs, System::Reflection::TargetInvocationException
    3. Support of System::Threading::WaitHandle::WaitOne(const System::TimeSpan &timeout) method is added
    4. char16_t_array type renamed to system_char_array. const_char16_t_array type renamed to const_system_char_array
    5. System::Char::IsAsciiWhiteSpace() method is added