Проблемы с памятью при использование NEW Queue/DISPOSE Queue

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Гость

Сообщение Гость »

Есть такой простенький пример:

если смотреть выполнение в диспечере задач, то увидим что память всё растёт и растёт, замечено, что чем больше SIZE myQueue, ну допустим 10240, то потеря памяти зависит от SIZE myQueue и очень даже наглядна.
Хотелось бы спросить уважаемое сообщество, как корректно работать с динамическими очередями?
У меня теряется память!!! (C55)

об-NULL-ение SELF.Q после DISPOSE, эффект тот же.

Код: Выделить всё

        PROGRAM

        MAP
         Main
        END
myQueue   QUEUE,TYPE
Field      STRING(1024)
 END

myClass    CLASS,TYPE
Q               &myQueue
Construct       PROCEDURE()
Desctruct       PROCEDURE(),VIRTUAL
 END
        CODE
        Main

!---------------------------------------------------------------------
myClass.Construct       PROCEDURE
        CODE
 SELF.Q &= NEW myQueue

!---------------------------------------------------------------------
myClass.Desctruct       PROCEDURE
        CODE
! FREE(SELF.Q)
 DISPOSE(SELF.Q)

MAIN        PROCEDURE

loc_Object       &myClass
    CODE

 LOOP
  LOOP 10000 TIMES
   loc_Object &= NEW myClass
   DISPOSE(loc_Object)
  END
  stop('1')
 END
Andrew Myalin
andrew@arsis.ru
http://mavcla.arsis.ru (MAV Direct ODBC)
ICQ: 10659412
Yahoo group: clarion@yahoogroups.com

(Добавление)

вопрос снимается, Destructor - буковка лишняя была в описании

Andrew Myalin

(Добавление)

Гы-гы! Все равно классно! Точно как с Implicit-переменныеми... Нет, ребята - неявности созданы для усложенеия нам жизни, чтобы осчастливить нас долгими упоительными часами поисков дурацких ошибок...

--
Best regards,
Vadym mailto:vadim@softcreator.com
ICQ: 82308757
Написал: ClaList(2)
Ответить