project BLF > class ComponentPool > method RegisterDSForDeletionInPool

Description

register a (dynamic) dataset to be deleted


Parameters


ihDSinputhandle


Internal usage


unused


program code (program1/componentpool.p)

if valid-handle (ihDS)
then if ihDS:dynamic
then do:
    /* delete dataset before deleting buffers */
    create tObjectsToDelete.
    assign tObjectsToDelete.tiInsID = viObjectToDelete
           tObjectsToDelete.thIns   = ihDS
           viObjectToDelete = viObjectToDelete + 1.
    
    if ihDS:type = "DATASET"
    then do vista = 1 to ihDS:num-buffers:
        vhDSBuffer = ihDS:get-buffer-handle(vista).
        vhDSTable = vhDSBuffer:table-handle.
        if vhDSBuffer:dynamic
        then do:
            create tObjectsToDelete.
            assign tObjectsToDelete.tiInsID = viObjectToDelete
                   tObjectsToDelete.thIns   = vhDSBuffer
                   viObjectToDelete = viObjectToDelete + 1.
        end.
        if vhDSTable:dynamic
        then do:
            create tObjectsToDelete.
            assign tObjectsToDelete.tiInsID = viObjectToDelete
                   tObjectsToDelete.thIns   = vhDSTable
                   viObjectToDelete = viObjectToDelete + 1.
        end.
    end.
end.