Конференция "WinAPI" » Довольно частая ошибка под XP, не воспроизводилась еще на поздних
 
  • ВладОшин © (29.08.17 11:33) [0]
    2.5 Type          : EOutOfResources
     5.3 Free Memory   : 1429 Mb
     6.1 Type    : Microsoft Windows XP

    |0048513C|r.exe|Graphics.pas |                    |GDIError                     |2610[4]  |
    |004850C0|r.exe|Graphics.pas |                    |GDIError                     |2606[0]  |
    |0048517B|r.exe|Graphics.pas |                    |GDICheck                     |2617[1]  |
    |0048516C|r.exe|Graphics.pas |                    |GDICheck                     |2616[0]  |
    |00489237|r.exe|Graphics.pas |                    |CopyBitmap                   |5060[23] |
    |00489120|r.exe|Graphics.pas |                    |CopyBitmap                   |5037[0]  |
    |00489C73|r.exe|Graphics.pas |TBitmap             |CopyImage                    |5326[9]  |
    |00489C00|r.exe|Graphics.pas |TBitmap             |CopyImage                    |5317[0]  |
    |0048B6B1|r.exe|Graphics.pas |TBitmap             |SetWidth                     |6254[8]  |
    |006AA58B|r.exe|uDesigner.pas|TDesigner           |Resize                       |4163[2]  |

    говорят, после перезагрузки непосредственно тоже случается.
    (но тут не верю, по логам присланным Up Time: 6 days .. С другой стороны, почему бы не предположить, что бывает..)

    и ни одной подобной жалобы от win7

    Q:
    Чего не хватает? OutOf каких Resources ? GDI дескрипторы какие-то?
    Как лечить?
  • ВладОшин © (29.08.17 11:41) [1]
    и там ничего такого вроде бы

    Buffer: TBitmap;

    procedure TDesigner.Resize;
    var
     X, Y: Integer;
    begin
     inherited;
     Buffer.Width := ClientWidth;  // uDesigner.pas line 4163
  • ВладОшин © (29.08.17 11:52) [2]
    непосредственно
    Graphics.pas |TBitmap             |CopyImage                    |5326[9]  |

    NewHandle := CopyBitmap(AHandle, APalette, NewPalette, DIB, FCanvas); // NewHandle : THandle

    и тут EOutOfResources
  • Игорь Шевченко © (29.08.17 12:11) [3]

    > Как лечить?


    включить отображение ресурсов в task manager, наблюдать, где утечки.
  • ВладОшин © (29.08.17 12:21) [4]
    понятно..
    проблема, что это у удаленного юзера(ов). Придется XP ставить что бы наблюдать

    Еще когда последнюю версию тестировал на утечки той же Эврикой, она не показывала утечек (почти, небольшая была, но не с этим связана, и немного, по 4 объекта на одну долгую операцию, которую юзер, по-идее не должен делать вообще, поэтому не стал копать-исправлять)

    Нашел совет Розыча про задание размеров сразу же после Create битмапу - у меня уже есть такое.

    единственное Buffer.Free , может, FreeAndNil(Buffer) надо ?..

    ну а с третьей стороны - ни одного подобного косяка от win7-юзеров, которых на порядок больше (ну или раз в 5)
  • Eraser © (29.08.17 13:36) [5]

    > ВладОшин ©   (29.08.17 11:33) 

    работа с графикой (TBitmap в частности) в сторонних потоках есть?
  • ВладОшин © (29.08.17 19:08) [6]

    > работа с графикой (TBitmap в частности) в сторонних потоках
    > есть?


    нет
 
Конференция "WinAPI" » Довольно частая ошибка под XP, не воспроизводилась еще на поздних
Есть новые Нет новых   [134427   +34][b:0][p:0]