Страница 1 из 1

Clarion 6.2 9046 - опять двойка ... ;)

Добавлено: 03 Август 2005, 12:28
Игорь Столяров
Привет всем !

Если кому интересно - посмотрите простой пример прикрепленный
к этому сообщению. Если собрать его под C6.2 9045 - все OK !
Если собрать под последним C6.2 9046 - GPF !

Проверяется элементарно.
Скопилируйте problem.app и несколько раз подряд нажмите кнопку RESTART в меню, если удасться, конечно ... ;)
Причина косяка очевидна и элементарна. Если будут комментарии - пишите ...
Кстати, может кто сбросит это в SV, с кратким описанием, а то у меня английский не best ... ;) Может учтут в 9047, заранее спасибо.

Добавлено: 04 Август 2005, 2:10
StillZero
у меня здесь двойственное чувство, с одной стороны я понимаю, что по идее должно работать, а с другой...какая то ахинея написана :)
хоть бы подробности какие для чего так делать, я в принципе тоже прогу могу завалить каким нибудь memcpy(0,0,0)

вот так будет работать (код первой процедуры):

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

  Loop
    If Main()
       loop j#=1 to 100000 ! типо подождем немного
          YIELD
       end
       Cycle
    end
    Break
  end

Добавлено: 04 Август 2005, 7:58
Игорь Столяров
Применение простое - два варианта выхода из программы: просто выход и рестарт с заменой пользователя. А проблема на самом деле не с кодом, а с новым шаблоном FrameExt - если его отключить все работает отлично. Также можно добиться нормальной работы если принудительно разрушать его класс при выходе из Frame. И ошибка возникает именно при выходе из Frame и именно в нем - мой код перезапуска меню здесь не причем - его можно заменить на что угодно ... :(
Согласен - завалить можно любую программу, но ничего явно косякового я не написал вроде - все абсолютно штатно.
Может кто сбросит все-таки в буржуйский форум ?