Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Shrinavat last won the day on January 16

Shrinavat had the most liked content!

Community Reputation

4 Neutral

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Shrinavat

    Rio IDE Menu Font Size

    Here is description (on a russian website) of IDEFont - http://www.proghouse.ru/programming/143-idefont
  2. Shrinavat

    Rio IDE Menu Font Size

    IDEFont A tool to change the font of IDE Delphi https://github.com/zMotoR/IDEFont
  3. Shrinavat

    Delphi wrapper for libpng

    @dummzeuch I saw these links. The libraries are very old, seems more than 15 years old and for very early versions of libpng. Unfortunately, they cannot be used for current versions of libpng.
  4. Shrinavat

    Delphi wrapper for libpng

    I hope this is the right place to ask this... Is there a Delphi wrapper for libpng? I would very much like to use it, but I couldn't find it anywhere. Please share if you know anything. If someone got working wrapper for libpng and wants to share it at here would be cool. Thanks!
  5. @Primož Gabrijelčič Do you have any progress for this issue fix? There are no new commits on github. Current workaround with using extra variable is not very elegant, although it works.
  6. Shrinavat

    Strange TWICImage behavior when working in a thread.

    Yes, indeed.
  7. Shrinavat

    Strange TWICImage behavior when working in a thread.

    Ooops! I completely forgot about that... Thanks!
  8. Here is the simplest code: When I click on the button "Read Image in GUI Thread", then everything is fine. TWICImage loads the image from the stream. However, the same code does not work in the thread (click on the button "Read Image in OTL Thread"), I get AV "Access violation at address 0050316F in module 'Project1.exe'. Read of address 00000000". If you use TJPEGImage instead of TWICImage, then everything works fine in both cases. I don't get what the problem is. Can someone explain to me in simple terms what should I do in order for TWICImage to work in the thread? I want to use TWICImage because it allows you to download a wide variety of image formats, not just jpeg. Delphi 10.2.3, Win7SP1 x64. Project full source is in attachment test_OTL_read_from_memory.zip
  9. Thank, @Primož Gabrijelčič. That works. And what about my question #1 (numTasks)?
  10. @Anders Melander I have latest Graphics32 with fixed TBitmap32 constructor access violation AV occurs when executing a line of code Image32.Bitmap.Assign(workItem.Result.AsObject as TBitmap32); - FBackend is nil: This is in case when workItem.Result.Ownsobjects: = True If I comment out workItem.Result.OwnsObject := True line in Asy_Factory procedure and uncomment workItem.Result.AsObject.Free; line in HandleRequestDone procedure, FBackend is not nil. It's a bug. But whose? Mine, GR32 or OTL?
  11. Questions from my last post are still relevant 10+ days later. Dear @Primož Gabrijelčič, please reply! PS If this OTL subforum is not intended for questions, I am sorry for the time I have wasted. Is there another forum that I can ask specific OTL question and get an answer from the developer?
  12. I carefully read the "3.9 Background worker" chapter from the "Parallel Programming with OmniThreadLibrary" book, and - hallelujah! I was able to solve my problem with the help of Parallel.BackgroundWorker and Parallel.ParallelTask. Well, at least I think so... Again, project full source is in attachment, here is the main unit part: Everything running like clockwork. But I have a few questions again: 1) If I change numTasks value in Renderer := Parallel.ParallelTask.NumTasks(numTasks).NoWait line to Environment.Process.Affinity.Count - 1, the application starts to work incorrectly. The code after Renderer.WaitFor(INFINITE); line is never executed and my app remains hanging in task Manager after closing. Is this my bug or OTL bug? 2) If I uncomment workItem.Result.OwnsObject := True; line in Asy_Factory procedure and comment out workItem.Result.AsObject.Free; line in HandleRequestDone procedure, I obtain the following AV: "Access violation at address 00604CBF in module 'ImageFactory_BackgroundWorker.exe'. Read of address 00000000." Why? After all, TOmniValue is the owner of TObject-type data! When a object-owning TOmniValue goes out of scope, the owned object is automatically destroyed. But this is not so in my case, so I would like to know why it happens. Is this OTL bug? Dear @Primož Gabrijelčič, please could you answer these questions? Also, your opinion on my ImageFactory code is very important to me! Especially the asynchronous part of the code. Maybe is there a better/easier/rather way to do this? test_ImageFactory_BackgroundWorker.zip
  13. Shrinavat

    Rio IDE Menu Font Size

    Need to hook @Brandingapi@GetThemeFont$qqrv from designide260.bpl:
  14. @Sherlock You are absolutely right.
  15. Hello, Is it posible add "spoiler" button in editor toolbar? Of course I can use [ spoiler ][/ spoiler ] tags but without code formatting: Spoiler test It would be nice to be able to hide large chunks of code. Thanks.