Big Problem VCL vs. FNC

I have on my working PC VCL and FNC installed.
We work on a project with more developers. The project (and the other developers) don't have FNC.

Now, we have a VCL Project (without FNC). We use AdvSVGImageCollection. We added some SVG's. They hace the type: TAdvSVGBitmap. Everything is ok.
Now, I take the project on my PC with VCL AND FNC. I add some more SVG's. The same files (new inserted) are now TTMSFNCSVGBitmap.
When I return the file, I think, they can't compile it. (not testet yet) They don't have the units on their system.

What can we do?

A temporary solution is
"search and replace" the dfm-file
search: 1054544D53464E43
replace with: 0D54416476
and the type ist changed from TTMSFNCSVGBitmap to TAdvSVGBitmap


If you have TTMSFNCSVGBitmap at designtime, you need to add the unit VCL.TMSFNCTypes.pas, if you have TAdvSVGBitmap at designtime, you need to add AdvTypes.pas unit. This will solve your problem viewing the files at runtime. If you have FNC at one computer and not at the other computer then unfortunately you will not be able to open & compile the project.

What can I do, if I want to add a svg symbol on my computer, that the other people can open and compile.

I want add a TAdvSVGBitmap. How can I do this, without deinstall FNC.
The unit (with the collection) don't have anything integrated. No "uses" any Types unit.

If you want other users to open and compile, and you want to target TMS VCL UI Pack only, you'll need to add AdvTypes.pas unit, and then load all SVG files at runtime. when loading them at designtime, it uses TAdvSVGBitmap or TTMSFNCSVGBitmap depending on the package loading sequence, it is unclear how to control that, because both packages are registering SVG support.

Ah Ok, now I know the reason. I can work with. Thank you.

1 Like