Sample code for 30+ languages & platforms
Visual Basic 6.0 Requires Chilkat v11.7.0+

Handle QR Code Errors

See more QR Code Examples

Demonstrates what happens when a request is refused. QrCode returns false and the response holds errors[0] with three members: a code that does not change between versions, the path of the request member at fault (a JSON Pointer such as /encoding/qr/version), and a message. Requests are checked strictly, so a misspelled option is an error rather than being silently ignored. LastErrorText has the same information in more detail.

Chilkat Visual Basic 6.0 Downloads

Visual Basic 6.0
Dim success As Long
success = 0

'  This example requires the Chilkat API to have been previously unlocked.
'  See Global Unlock Sample for sample code.

Dim fmt As New ChilkatFormats
Dim json As New ChilkatJsonObject
Dim jsonOut As New ChilkatJsonObject

'  1. A misspelled option: "moduleSise" for "moduleSize".
success = json.UpdateString("payload.text","https://www.chilkatsoft.com/")
success = json.UpdateInt("render.moduleSise",8)
success = fmt.QrCode("generate",json,jsonOut)
If (success = 0) Then
    Debug.Print "code: " & jsonOut.StringOf("errors[0].code")
    Debug.Print "path: " & jsonOut.StringOf("errors[0].path")
    Debug.Print "message: " & jsonOut.StringOf("errors[0].message")
End If

'  2. A value out of range: QR versions are 1 to 40.
json.Clear 
success = json.UpdateString("payload.text","https://www.chilkatsoft.com/")
success = json.UpdateInt("encoding.qr.version",41)
success = fmt.QrCode("generate",json,jsonOut)
If (success = 0) Then
    Debug.Print "code: " & jsonOut.StringOf("errors[0].code")
    Debug.Print "path: " & jsonOut.StringOf("errors[0].path")
    Debug.Print "message: " & jsonOut.StringOf("errors[0].message")
End If

'  3. Too much data: this text does not fit a version 1 symbol.
json.Clear 
success = json.UpdateString("payload.text","https://www.chilkatsoft.com/barcode_overview.asp")
success = json.UpdateInt("encoding.qr.version",1)
success = fmt.QrCode("generate",json,jsonOut)
If (success = 0) Then
    Debug.Print "code: " & jsonOut.StringOf("errors[0].code")
    Debug.Print "path: " & jsonOut.StringOf("errors[0].path")
    Debug.Print "message: " & jsonOut.StringOf("errors[0].message")
End If

'  A program can act on the code.
If (jsonOut.StringOf("errors[0].code") = "capacityExceeded") Then
    Debug.Print "The text is too long for the symbol size allowed."
End If

'  Sample output:

'  code: unknownOption
'  path: /render/moduleSise
'  message: unknown option
'  code: outOfRange
'  path: /encoding/qr/version
'  message: the value is out of range
'  code: capacityExceeded
'  path: /payload
'  message: the payload does not fit the requested QR version at the requested error-correction level
'  The text is too long for the symbol size allowed.