Sample code for 30+ languages & platforms
PureBasic

Finalize Thread Pool

In some programming environments, such as VB6, FoxPro, and others (especially anything using the Chilkat ActiveX), it may be necessary to call FinalizeThreadPool just before your program exits. Otherwise a hard crash can happen. (This has only been known to happen in programs written in VB6, FoxPro, etc.)

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkGlobal.pb"

Procedure ChilkatExample()

    success.i = 0

    ; If your application made use of asynchronous Chilkat methods, which create background threads including a thread pool manager, 
    ; then call FinalizeThreadPool just before your program exits.  This isn't required, but in some programming environments it 
    ; prevents a crash on exit -- namely VB6, FoxPro, and other older programming languages where the ActiveX is used.
    glob.i = CkGlobal::ckCreate()
    If glob.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    success = CkGlobal::ckFinalizeThreadPool(glob)


    CkGlobal::ckDispose(glob)


    ProcedureReturn
EndProcedure