Menu

#1 Некорректная работа с CloseGraph

Fixed
nobody
None
Medium
Defect
2015-09-27
2013-10-05
Anonymous
No

Ошибка отправлена в апстрим: http://bugs.freepascal.org/view.php?id=25140

Discussion

  • Anonymous

    Anonymous - 2013-10-05

    Надо программу, использующую ptcgraph, запустить в консоли (или в IDE), фокус перевести на окно с графикой, закрыть окно с графикой, вернуть фокус в консоль, нажать Enter. Программа зависает, висит в процессах и потребляет процессор.

     

    Last edit: AlexL 2015-09-27
  • Anonymous

    Anonymous - 2013-10-07

    Лучше не использовать readln http://www.altlinux.org/FreePascal/EgaVgaBGI , а использовать readkey. Но процедура closegraph всё равно виснет при закрытом окне с графикой, и нечем определить закрыто оно или нет. Пока можно обойтись так:
    program color256;
    uses ptcgraph, PTCCrt;
    var
    gd,gm:SmallInt;
    x,y,i,j,zz,xx:SmallInt;
    begin
    gd:=D8bit;
    gm:=m800x600;
    initgraph(gd,gm,'');
    for i:=0 to 15 do
    for j:=0 to 15 do
    begin
    x:=i*40;
    y:=j*20;
    SetfillStyle(SolidFill,i*16+j);
    bar(x,y,x+40,y+20);
    end;
    ReadKey;
    if FullscreenGraph=true then closegraph;
    end.

    Процедура закрытия графического режима больше нужна при полноэкранном режиме - восстановить оригинальное разрешение рабочего стола, цветность, частоту кадров и т. д. А при оконном режиме можно обойтись и без неё.

     

    Last edit: AlexL 2015-09-27
  • Anonymous

    Anonymous - 2013-11-16

    Апстрим отметил этот баг решенным для FPC 2.6.4.
    Требуется проверить.

     

    Last edit: AlexL 2015-09-27
  • Anonymous

    Anonymous - 2014-05-26

    Проверка показала, что окно с графикой не закрывается. Решено.

    Status: Fixed

     

    Last edit: AlexL 2015-09-27

Log in to post a comment.