Jump to content

yuri

Members
  • Posts

    10
  • Joined

  • Last visited

  • Days Won

    3

Posts posted by yuri

  1. 3 hours ago, Alan said:

    The issue seems to be that SetLength is not doing its job!
    When I step through your code    length = 8589934593....

    Unfortunately, I don't know why this is happening.

    I don't think that you see bug of SetLength, maybe you get bug of debugger, because in real life project i use `for i := 0 to Length(vPoints) - 1` a lot of times and all works fine, but i see same colored pixel[0,0].

    Strange issue that applying of ZoomMatrix and TranslationMatrix works with this [0,0] pixel like it's really in vPoints array. So it's definitly somehow related with DrawLines method.

    Spoiler

    image.thumb.png.9a7bdb82e6bfa6427b30950609ecd55f.png

     

  2. Добрый день,

    делаю форму с возможностью масштабирования и рисованием пальцем на TfgPaintbox и наткнулся на такой интересный баг:

    Если в событии OnPaint вызвать ACanvas.DrawLines то кроме линии на самих точках всегда рисуется точка в координатах [0,0].

    Скорее всего это общая проблема для всех TfgCanvas.

    image.thumb.png.adacb6d121f04c68521733dd598e1006.png

    Прикрепляю демку с проблемой.

    Spoiler
    procedure TFormMain.pbSourcePaint(Sender: TObject; const ACanvas: TfgCanvas);
    begin
      var vPoints : TfgPoints;
    
      try
        SetLength(vPoints, 2);
    
        vPoints[0].SetLocation(150, 150);
        vPoints[1].SetLocation(300, 300);
    
        ACanvas.Stroke.Thickness := 20;
    
        ACanvas.DrawLines(vPoints);
      finally
        SetLength(vPoints, 0);
      end;
    end;

    FGX 1.16.0.1, Delphi 11.3. 

    LinesDemo.zip

  3. 3 часа назад, Артем сказал:

    Всем привет! У меня одного падает на скачивании? Почти в самом конце 😞

    Скачал сегодня утром, все ок

  4. Доброго времени суток.

    Все началось с получение странной ошибки при закрытии дочерней формы: "Значение [0] не попадает в требуемый диапазон [0, -1]. Не могу выполнить запрос стиля. Поскольку указанный...".

    После нескольких часов отладки удалось выяснить что если у формы задана тема c именем не по умолчанию, то во время уничтожения формы (уже после TfgForm.OnDestroy где обычно чистятся все локальные данные) форма проставляет для TfgCollectionView.parent := nil, что в свою очередь сбрасывает стиль в "Theme", а это тригерит события OnGetItemCount в процедуре GetStyleForItemIndex, ну а дальше уже ошибка описанная выше.

    Если сделать на fgFormDestroy вызвать TfgCollectionView.ReloadItems, то сообщение WM_RELOAD_ITEMS все равно не успевает отработать.

    Сейчас, для корректной работы, я на fgFormDestroy уничтожаю руками свой экземпляр TfgCollectionView.

    В связи с этим вопрос - это баг или просто не документированная особенность и я делаю что-то не так?

    P.S. Delphi 10.4.2, FGX native 1.11.0.0, Andoind 32-bit.

    FormDestroyBug.zip

×
×
  • Create New...