Я работаю над новым фрагментом кода на работе, чтобы помочь остальным программистам выполнять вызовы сервера приложений. Ранее у нас был только файл .i, и мы полагались на разработчика, чтобы убедиться, что вы сделали все правильные вызовы и очистили соединение с сервером приложений в конце программы. Очевидно, что некоторые люди забыли сделать это в прошлом, и это создало для нас проблемы.
Я собираю файл appiver.cls basi c, но не могу понять, как заставить его отключиться в конце программы.
До сих пор я пробовал следующие вещи:
ON CLOSE OF THIS-PROCEDURE
DO:
clAppServer:cleanupAppServer().
END.
Похоже, что это не срабатывает в конце вызова по скорости.
DESTRUCTOR appserver():
cleanupAppServer().
END DESTRUCTOR.
Это работает, когда выполняется сборка мусора, но Progress, похоже, не выполняет сборку мусора в конце вызова webspeed, а объекты все еще находятся в памяти (это совершенно другая проблема, которую я надо разобраться).
ON CLOSE OF SESSION:LAST-PROCEDURE
DO:
clAppServer:cleanupAppServer().
END.
Это даже не компилируется явно.
Я пробовал множество других вещей, которые являются вариантами этих трех, но безрезультатно.
Есть ли способ сделать то, что я прошу? Бонусные баллы, если они могут быть внутри файла appserver.cls.