TMS FNC Components / TMS WEB Core / Lazarus

So I want to use the TMS FNC Components in TMS WEB Core.
How can I use TMS FNC Components in TMS WEB Core in Lazarus 2.0.6 64 bits?
Someone can help me please?

Lazarus 2.0.6 64 bits
TMS WEB Core 1.3.6.0
TMSFNCCore 2.1.0.1
TMSFNCBlox 2.0.0.3
TMSFNCChart 1.7.1.4
TMSFNCCloudPack 1.1.1.1
TMSFNCDashboardPack 1.2.1.4
TMSFNCUIPack 3.0.1.1

Step 1) Install TMS FNC Core
    LCLTMSFNCCorePkg.lpk
    LCLTMSFNCCorePkgDE.lpk - OK

Step 2) Install TMS FNC Blox
    LCLTMSFNCBloxPkg.lpk
    LCLTMSFNCBloxPkgDE.lpk - OK

Step 3) Install TMS FNC Chart
    LCLTMSFNCChartPkg.lpk
    LCLTMSFNCChartPkgDE.lpk - Ok

Step 4) Install TMS FNC Cloud Pack
    LCLTMSFNCCloudPackPkg.lpk
    LCLTMSFNCCloudPackPkgDE.lpk - Ok

Step 5) Install TMS FNC Dashboard Pack
    LCLTMSFNCDashBoardPackPkg.lpk
    LCLTMSFNCDashBoardPackPkgDE.lpk - Ok

Step 6) Install TMS FNC UI Pack
    LCLTMSFNCUIPackPkg.lpk
    LCLTMSFNCUIPackPkgDE.lpk - Ok

Step 7) TMSWEBCore (https://www.youtube.com/watch?v=YzZazLnF8Zk) - ERROR

    I need change the code to install TMS WEB Core 1.3.6.0

    unit WEBLib.Controls;
    ...
    //{$IFNDEF LCLTMSWEB} // ORIGINAL
    const
    {$IFNDEF LCLTMSWEB} // MY change


    tmswebcorepkgliblaz.lpk
    tmswebcorepkgdelaz.lpk  - Ok

Step 8) tmswebcorefnccorepkg.lpk - ERROR

Compile package TMSWebCoreFNCCorePkg 0.0: Exit code 1, Errors: 3, Warnings: 2
WEBLib.TMSFNCDefines.inc(3,2) Warning: Illegal compiler switch "IGNOREATTRIBUTES"
WEBLib.TMSFNCDefines.inc(3,2) Warning: Illegal compiler switch "IGNOREATTRIBUTES"
WEBLib.TMSFNCTypes.pas(87,7) Error: Incompatible types: got "AnsiString" expected "Int64"
WEBLib.TMSFNCTypes.pas(87,7) Error: Compile time expression: Wanted Boolean but got <erroneous type> at IF or ELSEIF
WEBLib.TMSFNCTypes.pas(95,19) Fatal: Cannot find WEBLib.Graphics used by WEBLib.TMSFNCTypes. Check if package TMSWEBCorePkgLibLaz is in the dependencies of package TMSWebCoreFNCCorePkg.




In the beginning, I had also some confusing experiences until it finally worked. The packages


tmswebcorefnccorepkg.lpk
tmswebcorefncuipackpkg.lpk

are not supposed to compile at all. They are containing the informations how to replace the LCL versions of the FNC Core/FNC UI controls by their web versions during transpiling the fpc code by the pas2js transpiler. Unfortunately, when you include these packages into your project (you have to when using the FNC UI Pack) Lazarus tries to compile these packages, In both packages you have to change the package settings from 

IDE Integration - Automatically rebuild as needed to Manual compilation (never automatically)

Furthermore you have to add the FNC Core and FNC UI Pack source pathes to your WebCore project. To be able to insert any FNC Core/FNC UI control onto your web form, you have to set 

WebLib.;LCLTMSFNC

in Lazarus Tools - Options - Environment - TMS Web Core - Component Units

Finally it should all run smoothly. Another inconvinient thing is, that as soon you are adding more complex FNC UI controls on your web form, Lazarus is not adding all needed units. In case there are compiler (transpiler) error messages about missing or unknown classes, you have to add the needed units by yourself. Kind of clumsy.

Enjoy  - Ulrich 


Thank you for sharing your experience Ulrich! We'll investigate what can be done to make this easier.

You are welcome. I hope, my explanations were more or less correctly and understandable.


Best - Ulrich

Ulrich,


with your rich and powerful help TMS FNC and TMS Web Core works smoothly!
Who really knows makes things happens.

Thanks

Adriano,


you are welcome. I'm glad to hear that my hints were helpful.


Ulrich