Sample code for 30+ languages & platforms
SQL Server

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 SQL Server Downloads

SQL Server
-- Important: See this note about string length limitations for strings returned by sp_OAMethod calls.
--
CREATE PROCEDURE ChilkatSample
AS
BEGIN
    DECLARE @hr int
    DECLARE @success int
    SELECT @success = 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.
    DECLARE @glob int
    EXEC @hr = sp_OACreate 'Chilkat.Global', @glob OUT
    IF @hr <> 0
    BEGIN
        PRINT 'Failed to create ActiveX component'
        RETURN
    END

    EXEC sp_OAMethod @glob, 'FinalizeThreadPool', @success OUT

    EXEC @hr = sp_OADestroy @glob


END
GO