Sample code for 30+ languages & platforms
DataFlex

Using Chilkat StringBuilder to Avoid Large Strings

See more uncategorized Examples

Some programming languages can have limitations on string lengths, or it can be inefficient to return large strings back to the application, only to be passed back into Chilkat in a subsequent method call.

For Chilkat functions that return a string where the returned string can potentially be very large, there is typically the same function with the name ending in "Sb", where the returned string is deposited into the last argument. This allows for the string remain within an object, and thus never marshalled to/from the application.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoHttp
    Handle hoJson
    String sJsonStr
    Variant vSb
    Handle hoSb

    Move False To iSuccess

    Get Create (RefClass(cComChilkatHttp)) To hoHttp
    If (Not(IsComObjectCreated(hoHttp))) Begin
        Send CreateComObject of hoHttp
    End
    Get Create (RefClass(cComChilkatJsonObject)) To hoJson
    If (Not(IsComObjectCreated(hoJson))) Begin
        Send CreateComObject of hoJson
    End

    // This is the potentially inefficient way of getting JSON from a URL and loading it into a Chilkat JsonObject.
    // It gets the string directly..
    Get ComQuickGetStr Of hoHttp "https://www.chilkatsoft.com/helloWorld.json" To sJsonStr
    Get ComLoad Of hoJson sJsonStr To iSuccess

    // This is the more efficient method if the JSON is potentially large
    Get Create (RefClass(cComChilkatStringBuilder)) To hoSb
    If (Not(IsComObjectCreated(hoSb))) Begin
        Send CreateComObject of hoSb
    End
    Get pvComObject of hoSb to vSb
    Get ComQuickGetSb Of hoHttp "https://www.chilkatsoft.com/helloWorld.json" vSb To iSuccess
    Get pvComObject of hoSb to vSb
    Get ComLoadSb Of hoJson vSb To iSuccess


End_Procedure