gabr42 / OmniThreadLibrary

A simple and powerful multithreading library for Delphi
http://www.omnithreadlibrary.com
Other
465 stars 140 forks source link

Remove unnecessary dependency on Vcl.Graphics #127

Closed Matterdor closed 4 years ago

Matterdor commented 5 years ago

We have special checks in place to ensure that our server code never pulls in any VCL code. I added OTL to one of the services recently and noticed that VCL.Graphics is being pulled in.

I don't think that OTL shouldn't have any dependencies on code in the VCL namespace. This is case, VCL.Graphics is being pulled in by DSiWin32 because of the TFont usage. The two units I included for this project are OtlTaskControl and OtlCommon. We are using an older version of OTL but the dependency appears to still be there in GIT.

gabr42 commented 5 years ago

This will be fixed in v4. I'm leaving the ticket open as a reminder to retest this issue.

vincentparrett commented 4 years ago

I just hit this exact issue, any progress on this. As it stands it will block omni from being used on anything that needs to run on docker (working on getting FinalBuilder cmdline running on docker).

This looks to be the same still in the v4 branches (although you moved DSiWin32 out of omni to a separate project).

gabr42 commented 4 years ago

I have split DSiWin32 into two units - DSiWin32 and DSiWin32.VCL. OmniThreadLibrary uses only DSiWin32 which contains no references to the VCL namespace.