Introduction

First of all, fell free to send corrections or alternative ways to this method 🙂

The main goal of this page is instruct how to install the latest PascalSCADA snapshot on the latest Lazarus version. Why I don’t explains how install it on Delphi or on a outdated Lazarus version, is question to another page, or feel free to send the instructions to install it on the desired IDE.

Warning: The current PascalSCADA package will install others packages together with  PascalSCADA. The packages are:

  • ZeosLib 7.2
  • BGRABitmap
  • BGRAControls

So, if you dislike some of these packages, feel free to create a new package without the undesired package.

BIG Warning 2: The PascalSCADA isn’t like others SCADA systems. It’s a package, plugin or a add-on (you name it) for Lazarus to enable it to create HMI/SCADA applications. So, a wizard with Next, Next then finish buttons will be not available.

What I need before start?
  1. Latest Lazarus version. If you are a Windows user, you can get Lazarus from: http://www.lazarus-ide.org/. If you are a Linux/FreeBSD user, you can get it from your package system.
  2. Latest PascalSCADA: available on this link.
  3. WinRAR or something else that can decompress .bz2 files.
Installing…

Well, the first to be installed is Lazarus. I don’t want explain how to install Lazarus on any OS/platform that exists on this world, because install Lazarus is a very simple task, both on Windows (With wizard next, next and finish) or on Linux (Linux Mint 17.3 here: sudo apt-get install….).  At the end of Lazarus install process, you should open it and see something similar to this:

Fresh Lazarus installation
Fresh Lazarus installation

If you see your fresh Lazarus similar to this, you are on the right way. The next step is install the PascalSCADA package. Please forget the Lazarus by a moment. Go to your Downloads folder and find the downloaded PascalSCADA and extract it to a folder of your choice.

After extract your file, return to Lazarus and select the menu bellow:

Installing a new package on Lazarus IDE
Installing a new package on Lazarus IDE

 

Click on this menu. A open file dialog will be showed:

Find PascalSCADA on your file system
Find PascalSCADA on your file system

 

Navigate to the folder where you extracted the PascalSCADA. You should see the following files:

  • pascalscada_common.lpk
  • pascalscada_full.lpk
  • pascalscada.lpk
  • pascalscada_db.lpk
  • pascalscada_hmi.lpk

If you don’t see one of these files, check your downloaded file, paths. If everything is ok, you should see a screen like this:

Find PascalSCADA on your file system (complete view)
Find PascalSCADA on your file system (complete view)

 

Select the file “pascalscada_full.lpk” then open it. The package window of pascalscada_full file will be displayed:

PascalSCADA package opened
PascalSCADA package opened

 

The last step, is install it into your IDE. To do this, click on button “Use >>” then select install.

Installing PascalSCADA on your Lazarus IDE
Installing PascalSCADA on your Lazarus IDE

 

The package pascalscada_full is a metapackage, used only to make a complete install of PascalSCADA on your Lazarus. Because of this, you will be bored with some messages:

Metapackage: used to make easy the complete install of PascalSCADA
Metapackage: used to make easy the complete install of PascalSCADA

 

Click on “Install it, I like the fat” to continue the install. The next screen display a list with all packages that will be installed into your IDE, as displayed below:

List of all packages that will be installed together with PascalSCADA
List of all packages that will be installed together with PascalSCADA

More detailed view:

List of all packages that will be installed together with PascalSCADA
List of all packages that will be installed together with PascalSCADA

 

Click on OK to continue the install and get the final question, about the IDE recompile process, as you can see below:

Rebuild Lazarus confirmation
Rebuild Lazarus confirmation

 

To continue, click on “Yes”. The installation process will be started and your IDE will be recompiled. At the end of recompile process, the IDE will restarted. If you have a project with unsaved changes, take care!!

After the restart, depending of your PascalSCADA version, you should see the following component palete on your Lazarus:

PascalSCADA installed: communication port components palette
PascalSCADA installed: communication port components palette
PascalSCADA installed: communication protocol components palette
PascalSCADA installed: communication protocol components palette
PascalSCADA installed: utility components palette
PascalSCADA installed: utility components palette
PascalSCADA installed: tags palette
PascalSCADA installed: tags palette
PascalSCADA installed: screen controls palette
PascalSCADA installed: screen controls palette
PascalSCADA installed: user management and security components palette
PascalSCADA installed: user management and security components palette
PascalSCADA installed: database components palette
PascalSCADA installed: database components palette
PascalSCADA installed: FreePascal components palette
PascalSCADA installed: FreePascal components palette

If you see these tabs, congrats, you successfully installed the PascalSCADA on your Lazarus IDE.

37 thoughts on “How to install PascalSCADA

  1. Fabio Luis Girardi Post authorReply

    To update on Codetyphon: you should remove the pl_pascalscada package first. Then edit the new PascalSCADA packages and replace some dependencies:

    ** on pascalscada_db package, replace ZComponent dependency by pl_zeosdbo
    ** on pascalscada_hmi_package, replace the BGRABitmap and BGRAControls by pl_BGRABitmap and pl_BGRAControls.

    After this, install the pascalscada_full.lpk

    On Delphi RAD Studio Berlin? I don’t know, since I don’t update the packages for Delphi since Delphi XE2. Can you try and explain to us?

    • Fabio Luis Girardi Post authorReply

      I did no tested PascalSCADA for Mac OS X, but it have no reasons to don’t work. Maybe we can test together?

    • Fabio Luis Girardi Post authorReply

      I set a virtual machine to test PascalSCADA on Mac OS X El captain. I found some issues related with constants and units that are not defined/available for Mac. I’m fixing theses issues. When it’s done I’ll notify you.

    • Fabio Luis Girardi Post authorReply

      3Picure: I finished the changes for Mac OS X today. Can you download the latest revision from SVN and test?

  2. robin Reply

    Hi,

    When i try to install the package in Lazarus i get alot of errors:

    Compile package BGRABitmapPack 8.8.4: Exit code 1, Errors: 50, Hints: 38
    bgracanvas2d.pas(370,21) Error: Operator is not overloaded: “TPointF” + “TPointF”
    bgracanvas2d.pas(371,21) Error: Operator is not overloaded: “TPointF” + “TPointF”
    bgracanvas2d.pas(386,34) Error: Incompatible type for arg no. 3: Got “TYPES.TPointF”, expected “BGRABITMAPTYPES.TPointF”
    bgratransform.pas(872,38) Hint: Found declaration: Fit(TPointF;TPointF;TPointF);
    bgracanvas2d.pas(446,71) Error: Incompatible type for arg no. 4: Got “TYPES.TPointF”, expected “BGRABITMAPTYPES.TPointF”
    bgragradientscanner.pas(1077,34) Hint: Found declaration: constructor Create(TBGRACustomGradient;TGradientType;TPointF;TPointF;Boolean=”FALSE”;Boolean=”FALSE”);
    bgragradientscanner.pas(1045,34) Hint: Found declaration: constructor Create(TBGRAPixel;TBGRAPixel;TGradientType;TPointF;TPointF;Boolean=”TRUE”;Boolean=”FALSE”);
    bgracanvas2d.pas(451,9) Error: Incompatible types: got “BGRABITMAPTYPES.TPointF” expected “TYPES.TPointF”
    bgracanvas2d.pas(452,9) Error: Incompatible types: got “BGRABITMAPTYPES.TPointF” expected “TYPES.TPointF”
    bgracanvas2d.pas(665,24) Error: function header doesn’t match any method of this class “GetShadowOffset:;”
    bgracanvas2d.pas(109,14) Error: Found declaration: GetShadowOffset:;
    bgracanvas2d.pas(667,13) Error: Incompatible types: got “BGRABITMAPTYPES.TPointF” expected “TYPES.TPointF”
    bgracanvas2d.pas(900,25) Error: function header doesn’t match any method of this class “FillPoly(const {Open} Array Of TPointF);”
    bgracanvas2d.pas(125,15) Error: Found declaration: FillPoly(const {Open} Array Of TPointF);
    bgracanvas2d.pas(905,38) Error: Incompatible type for arg no. 1: Got “{Open} Array Of TPointF”, expected “{Open} Array Of TPointF”
    bgracanvas2d.pas(141,15) Hint: Found declaration: DrawShadow(const {Open} Array Of TPointF;const {Open} Array Of TPointF);
    bgracanvas2d.pas(913,63) Error: Incompatible type for arg no. 2: Got “{Open} Array Of TPointF”, expected “{Open} Array Of TPointF”
    bgrapolygon.pas(498,11) Hint: Found declaration: FillPolyAntialiasWithTexture(TBGRACustomBitmap;{Open} Array Of TPointF;IBGRAScanner;Boolean;Boolean=”FALSE”);
    bgracanvas2d.pas(915,61) Error: Incompatible type for arg no. 2: Got “{Open} Array Of TPointF”, expected “{Open} Array Of TPointF”
    bgrapolygon.pas(472,11) Hint: Found declaration: FillPolyAliasedWithTexture(TBGRACustomBitmap;{Open} Array Of TPointF;IBGRAScanner;Boolean;TDrawMode);
    bgracanvas2d.pas(925,67) Error: Incompatible type for arg no. 2: Got “{Open} Array Of TPointF”, expected “{Open} Array Of TPointF”
    bgrapolygon.pas(498,11) Hint: Found declaration: FillPolyAntialiasWithTexture(TBGRACustomBitmap;{Open} Array Of TPointF;IBGRAScanner;Boolean;Boolean=”FALSE”);
    bgracanvas2d.pas(927,65) Error: Incompatible type for arg no. 2: Got “{Open} Array Of TPointF”, expected “{Open} Array Of TPointF”
    bgrapolygon.pas(472,11) Hint: Found declaration: FillPolyAliasedWithTexture(TBGRACustomBitmap;{Open} Array Of TPointF;IBGRAScanner;Boolean;TDrawMode);
    bgracanvas2d.pas(932,67) Error: Incompatible type for arg no. 2: Got “{Open} Array Of TPointF”, expected “{Open} Array Of TPointF”
    bgrapolygon.pas(498,11) Hint: Found declaration: FillPolyAntialiasWithTexture(TBGRACustomBitmap;{Open} Array Of TPointF;IBGRAScanner;Boolean;Boolean=”FALSE”);
    bgracanvas2d.pas(934,65) Error: Incompatible type for arg no. 2: Got “{Open} Array Of TPointF”, expected “{Open} Array Of TPointF”
    bgrapolygon.pas(472,11) Hint: Found declaration: FillPolyAliasedWithTexture(TBGRACustomBitmap;{Open} Array Of TPointF;IBGRAScanner;Boolean;TDrawMode);
    bgracanvas2d.pas(940,54) Error: Incompatible type for arg no. 2: Got “{Open} Array Of TPointF”, expected “{Open} Array Of TPointF”
    bgrapolygon.pas(485,11) Hint: Found declaration: FillPolyAntialias(TBGRACustomBitmap;{Open} Array Of TPointF;TBGRAPixel;Boolean;Boolean;Boolean=”FALSE”);
    bgracanvas2d.pas(942,52) Error: Incompatible type for arg no. 2: Got “{Open} Array Of TPointF”, expected “{Open} Array Of TPointF”
    bgrapolygon.pas(459,11) Hint: Found declaration: FillPolyAliased(TBGRACustomBitmap;{Open} Array Of TPointF;TBGRAPixel;Boolean;Boolean;TDrawMode);
    bgracanvas2d.pas(947,25) Error: function header doesn’t match any method of this class “FillStrokePoly(const {Open} Array Of TPointF;Boolean);”
    bgracanvas2d.pas(126,15) Error: Found declaration: FillStrokePoly(const {Open} Array Of TPointF;Boolean);
    bgracanvas2d.pas(966,28) Error: Incompatible type for arg no. 1: Got “{Open} Array Of TPointF”, expected “{Open} Array Of TPointF”
    bgrapolygon.pas(638,33) Hint: Found declaration: AddPolygon(const {Open} Array Of TPointF;IBGRAScanner);
    bgrapolygon.pas(631,33) Hint: Found declaration: AddPolygon(const {Open} Array Of TPointF;TBGRAPixel);
    bgracanvas2d.pas(974,32) Error: Incompatible type for arg no. 1: Got “{Open} Array Of TPointF”, expected “{Open} Array Of TPointF”
    bgrapolygon.pas(638,33) Hint: Found declaration: AddPolygon(const {Open} Array Of TPointF;IBGRAScanner);
    bgrapolygon.pas(631,33) Hint: Found declaration: AddPolygon(const {Open} Array Of TPointF;TBGRAPixel);
    bgracanvas2d.pas(976,32) Error: Incompatible type for arg no. 1: Got “{Open} Array Of TPointF”, expected “{Open} Array Of TPointF”
    bgrapolygon.pas(638,33) Hint: Found declaration: AddPolygon(const {Open} Array Of TPointF;IBGRAScanner);
    bgrapolygon.pas(631,33) Hint: Found declaration: AddPolygon(const {Open} Array Of TPointF;TBGRAPixel);
    bgracanvas2d.pas(979,72) Error: Incompatible type for arg no. 2: Got “TBGRAPixel”, expected “IBGRAScanner”
    bgrapolygon.pas(638,33) Hint: Found declaration: AddPolygon(const {Open} Array Of TPointF;IBGRAScanner);
    bgrapolygon.pas(631,33) Hint: Found declaration: AddPolygon(const {Open} Array Of TPointF;TBGRAPixel);
    bgracanvas2d.pas(984,48) Error: Incompatible type for arg no. 1: Got “{Open} Array Of TPointF”, expected “{Open} Array Of TPointF”
    bgrapen.pas(761,10) Hint: Found declaration: ComputeWidePolylinePoints(const {Open} Array Of TPointF;Single;TBGRAPixel;TFPPenEndCap;TFPPenJoinStyle;const TBGRAPenStyle;TBGRAPolyLineOptions;Single=”2″;TComputeArrowHeadProc=”nil”;Single=”0″;TComputeArrowHeadProc=”nil”;Single=”0″):{Dynamic} Array Of TP
    bgracanvas2d.pas(993,31) Error: Incompatible type for arg no. 1: Got “{Dynamic} Array Of TPointF”, expected “{Open} Array Of TPointF”
    bgrapolygon.pas(638,33) Hint: Found declaration: AddPolygon(const {Open} Array Of TPointF;IBGRAScanner);
    bgrapolygon.pas(631,33) Hint: Found declaration: AddPolygon(const {Open} Array Of TPointF;TBGRAPixel);
    bgracanvas2d.pas(1000,76) Error: Incompatible type for arg no. 2: Got “TBGRAPixel”, expected “IBGRAScanner”
    bgrapolygon.pas(638,33) Hint: Found declaration: AddPolygon(const {Open} Array Of TPointF;IBGRAScanner);
    bgrapolygon.pas(631,33) Hint: Found declaration: AddPolygon(const {Open} Array Of TPointF;TBGRAPixel);
    bgracanvas2d.pas(1002,33) Error: Incompatible type for arg no. 1: Got “{Dynamic} Array Of TPointF”, expected “{Open} Array Of TPointF”
    bgrapolygon.pas(638,33) Hint: Found declaration: AddPolygon(const {Open} Array Of TPointF;IBGRAScanner);
    bgrapolygon.pas(631,33) Hint: Found declaration: AddPolygon(const {Open} Array Of TPointF;TBGRAPixel);
    bgracanvas2d.pas(1004,48) Error: Incompatible type for arg no. 2: Got “{Dynamic} Array Of TPointF”, expected “{Open} Array Of TPointF”
    bgracanvas2d.pas(141,15) Hint: Found declaration: DrawShadow(const {Open} Array Of TPointF;const {Open} Array Of TPointF);
    bgracanvas2d.pas(1006,40) Error: Incompatible type for arg no. 1: Got “{Open} Array Of TPointF”, expected “{Open} Array Of TPointF”
    bgracanvas2d.pas(141,15) Hint: Found declaration: DrawShadow(const {Open} Array Of TPointF;const {Open} Array Of TPointF);
    bgracanvas2d.pas(1091,25) Error: function header doesn’t match any method of this class “SetShadowOffset(const TPointF);”
    bgracanvas2d.pas(134,15) Error: Found declaration: SetShadowOffset(const TPointF);
    bgracanvas2d.pas(1128,25) Error: function header doesn’t match any method of this class “StrokePoly(const {Open} Array Of TPointF);”
    bgracanvas2d.pas(140,15) Error: Found declaration: StrokePoly(const {Open} Array Of TPointF);
    bgracanvas2d.pas(1135,46) Error: Incompatible type for arg no. 1: Got “{Open} Array Of TPointF”, expected “{Open} Array Of TPointF”
    bgrapen.pas(761,10) Hint: Found declaration: ComputeWidePolylinePoints(const {Open} Array Of TPointF;Single;TBGRAPixel;TFPPenEndCap;TFPPenJoinStyle;const TBGRAPenStyle;TBGRAPolyLineOptions;Single=”2″;TComputeArrowHeadProc=”nil”;Single=”0″;TComputeArrowHeadProc=”nil”;Single=”0″):{Dynamic} Array Of TP
    bgracanvas2d.pas(1138,39) Error: Incompatible type for arg no. 1: Got “{Dynamic} Array Of TPointF”, expected “{Open} Array Of TPointF”
    bgracanvas2d.pas(141,15) Hint: Found declaration: DrawShadow(const {Open} Array Of TPointF;const {Open} Array Of TPointF);
    bgracanvas2d.pas(1146,63) Error: Incompatible type for arg no. 2: Got “{Dynamic} Array Of TPointF”, expected “{Open} Array Of TPointF”
    bgrapolygon.pas(498,11) Hint: Found declaration: FillPolyAntialiasWithTexture(TBGRACustomBitmap;{Open} Array Of TPointF;IBGRAScanner;Boolean;Boolean=”FALSE”);
    bgracanvas2d.pas(1148,61) Error: Incompatible type for arg no. 2: Got “{Dynamic} Array Of TPointF”, expected “{Open} Array Of TPointF”
    bgrapolygon.pas(472,11) Hint: Found declaration: FillPolyAliasedWithTexture(TBGRACustomBitmap;{Open} Array Of TPointF;IBGRAScanner;Boolean;TDrawMode);
    bgracanvas2d.pas(1158,54) Error: Incompatible type for arg no. 2: Got “{Dynamic} Array Of TPointF”, expected “{Open} Array Of TPointF”
    bgrapolygon.pas(485,11) Hint: Found declaration: FillPolyAntialias(TBGRACustomBitmap;{Open} Array Of TPointF;TBGRAPixel;Boolean;Boolean;Boolean=”FALSE”);
    bgracanvas2d.pas(1160,52) Error: Incompatible type for arg no. 2: Got “{Dynamic} Array Of TPointF”, expected “{Open} Array Of TPointF”
    bgrapolygon.pas(459,11) Hint: Found declaration: FillPolyAliased(TBGRACustomBitmap;{Open} Array Of TPointF;TBGRAPixel;Boolean;Boolean;TDrawMode);
    bgracanvas2d.pas(1165,65) Error: Incompatible type for arg no. 2: Got “{Dynamic} Array Of TPointF”, expected “{Open} Array Of TPointF”
    bgrapolygon.pas(498,11) Hint: Found declaration: FillPolyAntialiasWithTexture(TBGRACustomBitmap;{Open} Array Of TPointF;IBGRAScanner;Boolean;Boolean=”FALSE”);
    bgracanvas2d.pas(1167,63) Error: Incompatible type for arg no. 2: Got “{Dynamic} Array Of TPointF”, expected “{Open} Array Of TPointF”
    bgrapolygon.pas(472,11) Hint: Found declaration: FillPolyAliasedWithTexture(TBGRACustomBitmap;{Open} Array Of TPointF;IBGRAScanner;Boolean;TDrawMode);
    bgracanvas2d.pas(1172,25) Error: function header doesn’t match any method of this class “DrawShadow(const {Open} Array Of TPointF;const {Open} Array Of TPointF);”
    bgracanvas2d.pas(141,15) Error: Found declaration: DrawShadow(const {Open} Array Of TPointF;const {Open} Array Of TPointF);
    bgracanvas2d.pas(1185,29) Error: Incompatible type for arg no. 1: Got “TYPES.TPointF”, expected “BGRABITMAPTYPES.TPointF”
    geometrytypes.inc(797,10) Hint: Found declaration: isEmptyPointF(const TPointF):Boolean;
    bgracanvas2d.pas(1203,13) Error: Incompatible types: got “BGRABITMAPTYPES.TPointF” expected “TYPES.TPointF”
    bgracanvas2d.pas(1224,15) Error: Incompatible types: got “BGRABITMAPTYPES.TPointF” expected “TYPES.TPointF”
    bgracanvas2d.pas(1233,51) Error: Incompatible type for arg no. 2: Got “TBGRAPixel”, expected “IBGRAScanner”
    Compile package pascalscript 0.0.0.1: Aborted
    Compile package IDEIntf 1.0: Aborted
    Compile package zparsesql 7.2: Success
    Compile package zdbc 7.2: Aborted, Warnings: 4
    ZDbcCache.pas(3224,54) Warning: Symbol “PBOOLEAN” is deprecated
    ZDbcCache.pas(3237,56) Warning: Symbol “PBOOLEAN” is deprecated
    ZDbcCache.pas(4641,54) Warning: Symbol “PBOOLEAN” is deprecated
    ZDbcCache.pas(4654,56) Warning: Symbol “PBOOLEAN” is deprecated

    I am running Windows 10.

    Any suggestions?

    • Fabio Luis Girardi Post authorReply

      Hi Robin!

      See my Reply to @Goran

      Test and report things that goes wrong.

      Thanks by your feedback!

  3. Goran Reply

    I have the similar errors. I install lazarus-1.6.4-fpc-3.0.2-win32.exe and pascalscada_0.7.3_20160726.tar.bz2 on windows XP sp2 and try the same files on windows 10 and I got the same errors:

    Compile package BGRABitmapPack 8.8.4: Exit code 1, Errors: 50, Hints: 38
    bgracanvas2d.pas(370,21) Error: Operator is not overloaded: “TPointF” + “TPointF”
    bgracanvas2d.pas(371,21) Error: Operator is not overloaded: “TPointF” + “TPointF”
    bgracanvas2d.pas(386,34) Error: Incompatible type for arg no. 3: Got “TYPES.TPointF”, expected “BGRABITMAPTYPES.TPointF”
    bgratransform.pas(872,38) Hint: Found declaration: Fit(TPointF;TPointF;TPointF);
    bgracanvas2d.pas(446,71) Error: Incompatible type for arg no. 4: Got “TYPES.TPointF”, expected “BGRABITMAPTYPES.TPointF”
    bgragradientscanner.pas(1077,34) Hint: Found declaration: constructor Create(TBGRACustomGradient;TGradientType;TPointF;TPointF;Boolean=”FALSE”;Boolean=”FALSE”);
    bgragradientscanner.pas(1045,34) Hint: Found declaration: constructor Create(TBGRAPixel;TBGRAPixel;TGradientType;TPointF;TPointF;Boolean=”TRUE”;Boolean=”FALSE”);
    bgracanvas2d.pas(451,9) Error: Incompatible types: got “BGRABITMAPTYPES.TPointF” expected “TYPES.TPointF”
    bgracanvas2d.pas(452,9) Error: Incompatible types: got “BGRABITMAPTYPES.TPointF” expected “TYPES.TPointF”
    bgracanvas2d.pas(665,24) Error: function header doesn’t match any method of this class “GetShadowOffset:;”
    bgracanvas2d.pas(109,14) Error: Found declaration: GetShadowOffset:;
    bgracanvas2d.pas(667,13) Error: Incompatible types: got “BGRABITMAPTYPES.TPointF” expected “TYPES.TPointF”
    bgracanvas2d.pas(900,25) Error: function header doesn’t match any method of this class “FillPoly(const {Open} Array Of TPointF);”
    bgracanvas2d.pas(125,15) Error: Found declaration: FillPoly(const {Open} Array Of TPointF);
    bgracanvas2d.pas(905,38) Error: Incompatible type for arg no. 1: Got “{Open} Array Of TPointF”, expected “{Open} Array Of TPointF”
    bgracanvas2d.pas(141,15) Hint: Found declaration: DrawShadow(const {Open} Array Of TPointF;const {Open} Array Of TPointF);
    bgracanvas2d.pas(913,63) Error: Incompatible type for arg no. 2: Got “{Open} Array Of TPointF”, expected “{Open} Array Of TPointF”
    bgrapolygon.pas(498,11) Hint: Found declaration: FillPolyAntialiasWithTexture(TBGRACustomBitmap;{Open} Array Of TPointF;IBGRAScanner;Boolean;Boolean=”FALSE”);
    bgracanvas2d.pas(915,61) Error: Incompatible type for arg no. 2: Got “{Open} Array Of TPointF”, expected “{Open} Array Of TPointF”
    bgrapolygon.pas(472,11) Hint: Found declaration: FillPolyAliasedWithTexture(TBGRACustomBitmap;{Open} Array Of TPointF;IBGRAScanner;Boolean;TDrawMode);
    bgracanvas2d.pas(925,67) Error: Incompatible type for arg no. 2: Got “{Open} Array Of TPointF”, expected “{Open} Array Of TPointF”
    bgrapolygon.pas(498,11) Hint: Found declaration: FillPolyAntialiasWithTexture(TBGRACustomBitmap;{Open} Array Of TPointF;IBGRAScanner;Boolean;Boolean=”FALSE”);
    bgracanvas2d.pas(927,65) Error: Incompatible type for arg no. 2: Got “{Open} Array Of TPointF”, expected “{Open} Array Of TPointF”
    bgrapolygon.pas(472,11) Hint: Found declaration: FillPolyAliasedWithTexture(TBGRACustomBitmap;{Open} Array Of TPointF;IBGRAScanner;Boolean;TDrawMode);
    bgracanvas2d.pas(932,67) Error: Incompatible type for arg no. 2: Got “{Open} Array Of TPointF”, expected “{Open} Array Of TPointF”
    bgrapolygon.pas(498,11) Hint: Found declaration: FillPolyAntialiasWithTexture(TBGRACustomBitmap;{Open} Array Of TPointF;IBGRAScanner;Boolean;Boolean=”FALSE”);
    bgracanvas2d.pas(934,65) Error: Incompatible type for arg no. 2: Got “{Open} Array Of TPointF”, expected “{Open} Array Of TPointF”
    bgrapolygon.pas(472,11) Hint: Found declaration: FillPolyAliasedWithTexture(TBGRACustomBitmap;{Open} Array Of TPointF;IBGRAScanner;Boolean;TDrawMode);
    bgracanvas2d.pas(940,54) Error: Incompatible type for arg no. 2: Got “{Open} Array Of TPointF”, expected “{Open} Array Of TPointF”
    bgrapolygon.pas(485,11) Hint: Found declaration: FillPolyAntialias(TBGRACustomBitmap;{Open} Array Of TPointF;TBGRAPixel;Boolean;Boolean;Boolean=”FALSE”);
    bgracanvas2d.pas(942,52) Error: Incompatible type for arg no. 2: Got “{Open} Array Of TPointF”, expected “{Open} Array Of TPointF”
    bgrapolygon.pas(459,11) Hint: Found declaration: FillPolyAliased(TBGRACustomBitmap;{Open} Array Of TPointF;TBGRAPixel;Boolean;Boolean;TDrawMode);
    bgracanvas2d.pas(947,25) Error: function header doesn’t match any method of this class “FillStrokePoly(const {Open} Array Of TPointF;Boolean);”
    bgracanvas2d.pas(126,15) Error: Found declaration: FillStrokePoly(const {Open} Array Of TPointF;Boolean);
    bgracanvas2d.pas(966,28) Error: Incompatible type for arg no. 1: Got “{Open} Array Of TPointF”, expected “{Open} Array Of TPointF”
    bgrapolygon.pas(638,33) Hint: Found declaration: AddPolygon(const {Open} Array Of TPointF;IBGRAScanner);
    bgrapolygon.pas(631,33) Hint: Found declaration: AddPolygon(const {Open} Array Of TPointF;TBGRAPixel);
    bgracanvas2d.pas(974,32) Error: Incompatible type for arg no. 1: Got “{Open} Array Of TPointF”, expected “{Open} Array Of TPointF”
    bgrapolygon.pas(638,33) Hint: Found declaration: AddPolygon(const {Open} Array Of TPointF;IBGRAScanner);
    bgrapolygon.pas(631,33) Hint: Found declaration: AddPolygon(const {Open} Array Of TPointF;TBGRAPixel);
    bgracanvas2d.pas(976,32) Error: Incompatible type for arg no. 1: Got “{Open} Array Of TPointF”, expected “{Open} Array Of TPointF”
    bgrapolygon.pas(638,33) Hint: Found declaration: AddPolygon(const {Open} Array Of TPointF;IBGRAScanner);
    bgrapolygon.pas(631,33) Hint: Found declaration: AddPolygon(const {Open} Array Of TPointF;TBGRAPixel);
    bgracanvas2d.pas(979,72) Error: Incompatible type for arg no. 2: Got “TBGRAPixel”, expected “IBGRAScanner”
    bgrapolygon.pas(638,33) Hint: Found declaration: AddPolygon(const {Open} Array Of TPointF;IBGRAScanner);
    bgrapolygon.pas(631,33) Hint: Found declaration: AddPolygon(const {Open} Array Of TPointF;TBGRAPixel);
    bgracanvas2d.pas(984,48) Error: Incompatible type for arg no. 1: Got “{Open} Array Of TPointF”, expected “{Open} Array Of TPointF”
    bgrapen.pas(761,10) Hint: Found declaration: ComputeWidePolylinePoints(const {Open} Array Of TPointF;Single;TBGRAPixel;TFPPenEndCap;TFPPenJoinStyle;const TBGRAPenStyle;TBGRAPolyLineOptions;Single=”2″;TComputeArrowHeadProc=”nil”;Single=”0″;TComputeArrowHeadProc=”nil”;Single=”0″):{Dynamic} Array Of TP
    bgracanvas2d.pas(993,31) Error: Incompatible type for arg no. 1: Got “{Dynamic} Array Of TPointF”, expected “{Open} Array Of TPointF”
    bgrapolygon.pas(638,33) Hint: Found declaration: AddPolygon(const {Open} Array Of TPointF;IBGRAScanner);
    bgrapolygon.pas(631,33) Hint: Found declaration: AddPolygon(const {Open} Array Of TPointF;TBGRAPixel);
    bgracanvas2d.pas(1000,76) Error: Incompatible type for arg no. 2: Got “TBGRAPixel”, expected “IBGRAScanner”
    bgrapolygon.pas(638,33) Hint: Found declaration: AddPolygon(const {Open} Array Of TPointF;IBGRAScanner);
    bgrapolygon.pas(631,33) Hint: Found declaration: AddPolygon(const {Open} Array Of TPointF;TBGRAPixel);
    bgracanvas2d.pas(1002,33) Error: Incompatible type for arg no. 1: Got “{Dynamic} Array Of TPointF”, expected “{Open} Array Of TPointF”
    bgrapolygon.pas(638,33) Hint: Found declaration: AddPolygon(const {Open} Array Of TPointF;IBGRAScanner);
    bgrapolygon.pas(631,33) Hint: Found declaration: AddPolygon(const {Open} Array Of TPointF;TBGRAPixel);
    bgracanvas2d.pas(1004,48) Error: Incompatible type for arg no. 2: Got “{Dynamic} Array Of TPointF”, expected “{Open} Array Of TPointF”
    bgracanvas2d.pas(141,15) Hint: Found declaration: DrawShadow(const {Open} Array Of TPointF;const {Open} Array Of TPointF);
    bgracanvas2d.pas(1006,40) Error: Incompatible type for arg no. 1: Got “{Open} Array Of TPointF”, expected “{Open} Array Of TPointF”
    bgracanvas2d.pas(141,15) Hint: Found declaration: DrawShadow(const {Open} Array Of TPointF;const {Open} Array Of TPointF);
    bgracanvas2d.pas(1091,25) Error: function header doesn’t match any method of this class “SetShadowOffset(const TPointF);”
    bgracanvas2d.pas(134,15) Error: Found declaration: SetShadowOffset(const TPointF);
    bgracanvas2d.pas(1128,25) Error: function header doesn’t match any method of this class “StrokePoly(const {Open} Array Of TPointF);”
    bgracanvas2d.pas(140,15) Error: Found declaration: StrokePoly(const {Open} Array Of TPointF);
    bgracanvas2d.pas(1135,46) Error: Incompatible type for arg no. 1: Got “{Open} Array Of TPointF”, expected “{Open} Array Of TPointF”
    bgrapen.pas(761,10) Hint: Found declaration: ComputeWidePolylinePoints(const {Open} Array Of TPointF;Single;TBGRAPixel;TFPPenEndCap;TFPPenJoinStyle;const TBGRAPenStyle;TBGRAPolyLineOptions;Single=”2″;TComputeArrowHeadProc=”nil”;Single=”0″;TComputeArrowHeadProc=”nil”;Single=”0″):{Dynamic} Array Of TP
    bgracanvas2d.pas(1138,39) Error: Incompatible type for arg no. 1: Got “{Dynamic} Array Of TPointF”, expected “{Open} Array Of TPointF”
    bgracanvas2d.pas(141,15) Hint: Found declaration: DrawShadow(const {Open} Array Of TPointF;const {Open} Array Of TPointF);
    bgracanvas2d.pas(1146,63) Error: Incompatible type for arg no. 2: Got “{Dynamic} Array Of TPointF”, expected “{Open} Array Of TPointF”
    bgrapolygon.pas(498,11) Hint: Found declaration: FillPolyAntialiasWithTexture(TBGRACustomBitmap;{Open} Array Of TPointF;IBGRAScanner;Boolean;Boolean=”FALSE”);
    bgracanvas2d.pas(1148,61) Error: Incompatible type for arg no. 2: Got “{Dynamic} Array Of TPointF”, expected “{Open} Array Of TPointF”
    bgrapolygon.pas(472,11) Hint: Found declaration: FillPolyAliasedWithTexture(TBGRACustomBitmap;{Open} Array Of TPointF;IBGRAScanner;Boolean;TDrawMode);
    bgracanvas2d.pas(1158,54) Error: Incompatible type for arg no. 2: Got “{Dynamic} Array Of TPointF”, expected “{Open} Array Of TPointF”
    bgrapolygon.pas(485,11) Hint: Found declaration: FillPolyAntialias(TBGRACustomBitmap;{Open} Array Of TPointF;TBGRAPixel;Boolean;Boolean;Boolean=”FALSE”);
    bgracanvas2d.pas(1160,52) Error: Incompatible type for arg no. 2: Got “{Dynamic} Array Of TPointF”, expected “{Open} Array Of TPointF”
    bgrapolygon.pas(459,11) Hint: Found declaration: FillPolyAliased(TBGRACustomBitmap;{Open} Array Of TPointF;TBGRAPixel;Boolean;Boolean;TDrawMode);
    bgracanvas2d.pas(1165,65) Error: Incompatible type for arg no. 2: Got “{Dynamic} Array Of TPointF”, expected “{Open} Array Of TPointF”
    bgrapolygon.pas(498,11) Hint: Found declaration: FillPolyAntialiasWithTexture(TBGRACustomBitmap;{Open} Array Of TPointF;IBGRAScanner;Boolean;Boolean=”FALSE”);
    bgracanvas2d.pas(1167,63) Error: Incompatible type for arg no. 2: Got “{Dynamic} Array Of TPointF”, expected “{Open} Array Of TPointF”
    bgrapolygon.pas(472,11) Hint: Found declaration: FillPolyAliasedWithTexture(TBGRACustomBitmap;{Open} Array Of TPointF;IBGRAScanner;Boolean;TDrawMode);
    bgracanvas2d.pas(1172,25) Error: function header doesn’t match any method of this class “DrawShadow(const {Open} Array Of TPointF;const {Open} Array Of TPointF);”
    bgracanvas2d.pas(141,15) Error: Found declaration: DrawShadow(const {Open} Array Of TPointF;const {Open} Array Of TPointF);
    bgracanvas2d.pas(1185,29) Error: Incompatible type for arg no. 1: Got “TYPES.TPointF”, expected “BGRABITMAPTYPES.TPointF”
    geometrytypes.inc(797,10) Hint: Found declaration: isEmptyPointF(const TPointF):Boolean;
    bgracanvas2d.pas(1203,13) Error: Incompatible types: got “BGRABITMAPTYPES.TPointF” expected “TYPES.TPointF”
    bgracanvas2d.pas(1224,15) Error: Incompatible types: got “BGRABITMAPTYPES.TPointF” expected “TYPES.TPointF”
    bgracanvas2d.pas(1233,51) Error: Incompatible type for arg no. 2: Got “TBGRAPixel”, expected “IBGRAScanner”
    Compile package lhelpcontrolpkg 0.2: Aborted, Warnings: 1
    lhelpcontrol.pas(238,18) Warning: Symbol “CommandLine” is deprecated

    any idea?

    • Fabio Luis Girardi Post authorReply

      I think that this is caused because I used development versions of BGRABitmap and BGRAControls. Now I use stable versions of these libs. I’ll publish a new snapshot today. I did some tests with Lazarus 1.6.0 + FPC 3.0.0 Win32 and everything appears to be OK.

      Please test it. The updated snapshot file name is pascalscada_0.7.3_20170307.tar.bz2

      I’m uploading it now.

  4. robin Reply

    Do you have any tutorial/manual on how to do alarming with this packages?

    I would really like to see how this is done with modbus tcp.

    Best regards
    Robin

  5. Fabio Reply

    This should be done via source code because alarming is missing feature in PascalSCADA yet, because I’m not a skilled developer across multiple databases. So, write these components is a big problem to me.

    But in my applications, I use a TPLCBlock to read all alarms together. The write on database occurs on event OnValueChange. On this event handler I declare a array of strings, where each array element represents the message of each alarm of TPLCBLock. Each active alarm receive a identifier, on this case it’s the auto increment key of the alarms database table and it’s stored on the application during all the life of this alarm. When a alarm is finished, I use this alarm identifier to finish it on database. After finish it on database, the value 0 (zero) is assigned to the variable that stores the alarm identifier on application.

    I’ll write a example showing how implement this.

    • robin Reply

      Dear Fabio,

      Thank you for good information!! 🙂

      I would like to see the example on how to implement this. Please let me know when you have an example ready 🙂

      I really like PascalScada, you have done a great job.

    • robin Reply

      Hi Fabio,

      Thank you for the example 🙂
      Looks great!

      I managed to change it to modbus tcp and mysql.
      Now i need to figure out how to implement an acknowledge to the PLC. Keeping the alarm in the alarm list until it is acknowledged and normal status.

      Best regards

  6. Fabio Luis Girardi Post authorReply

    To keep alarms in alarm list while it’s not acknowledge is simple, change the where on active alarm list from:

    WHERE dt_finished IS NULL;

    To

    WHERE dt_finished IS NULL OR dt_ack IS NULL;

    • robin Reply

      Hi,

      Thank you!
      Yes, i figured out that 🙂

      But how can I at the same time update the ack column for the alarm in the database send an acknowledge value to a certain holding register (same index as alarm but in a higher range) in the PLC by selecting one alarm from the DBGrid and pressing an ACK button?

      What are the limitations on TPLCBlock? How many arrays can I have in one TPLCBlock? And how many TPLCBlocks can i have in my project before it gets to slow or crashes?

      Best regards

  7. Pawel Reply

    Hello,

    I need any example how I should configure components TCP_UDPPort, ISOTCPDriver, TagBit to work with S7 1200. Maybe small example, or step by step configuration..?

  8. Popescu Dragos Reply

    Hi,
    When I try to install pascalscada 0.7.5 I’ve got the error message “Cannot find fpdebug used by Lazarus”
    What I should to install?

    • Fabio Luis Girardi Post authorReply

      This error isn’t related with Pascalscada. Fpdebug is a package shipped with lazarus.

      You can try: menu packages => install/uninstall packages. Check if fpdebug is on the list on the left side of window that will open (installed packages). If yes, uninstall fpdebug, then click on button called “save and rebuild”

  9. George Vasiliou Reply

    Hello,
    i have trouble installing PascalScada under Debian 10 Testing with Lazarus 2.0.
    I got the bellow errors:

    Compile package pascalscada_common 0.7.5: Success, Hints: 2
    hsutils.pas(42,3) Note: Local variable “c” not used
    hsutils.pas(38,6) Hint: Unit “math” not used in hsutils
    Compile package BGRABitmapPack 9.6.1: Exit code 1, Errors: 7, Warnings: 137, Hints: 52
    bgrautf8.pas(157,13) Warning: Symbol “UTF8CharacterLength” is deprecated: “Use UTF8CodepointSize instead.”
    bgrawritepng.pas(279,6) Warning: Local variable “diff” does not seem to be initialized
    geometrytypes.inc(545,3) Hint: Variable “str” of a managed type does not seem to be initialized
    bgrablend.pas(219,7) Warning: Local variable “minxThird” does not seem to be initialized
    bgrablend.pas(219,7) Warning: Local variable “minx” does not seem to be initialized
    bgraresample.pas(380,30) Warning: Local variable “vertTransition” does not seem to be initialized
    bgraresample.pas(1498,19) Hint: Local variable “sum” does not seem to be initialized
    bgrapath.pas(398,5) Warning: Local variable “nb” does not seem to be initialized
    bgrapath.pas(448,5) Warning: Local variable “nb” does not seem to be initialized
    bgrapath.pas(1869,1) Warning: function result variable of a managed type does not seem to initialized
    bgrapath.pas(2412,30) Hint: Variable “APos” does not seem to be initialized
    bgrapath.pas(2429,38) Hint: Variable “APos” does not seem to be initialized
    bgrapen.pas(1359,65) Warning: Local variable “littleBorder” does not seem to be initialized
    bgrapen.pas(1433,27) Warning: Local variable “leftInter” does not seem to be initialized
    bgrapen.pas(1435,59) Warning: Local variable “rightInter” does not seem to be initialized
    bgrapen.pas(1509,24) Warning: Local variable “results” of a managed type does not seem to be initialized
    bgragradientscanner.pas(1615,64) Warning: Local variable “alpha” does not seem to be initialized
    bgragradientscanner.pas(1615,64) Warning: Local variable “pmask” does not seem to be initialized
    bgragradientscanner.pas(1615,64) Warning: Local variable “ptex” does not seem to be initialized
    bgragradientscanner.pas(1761,52) Warning: Local variable “alpha” does not seem to be initialized
    bgragradientscanner.pas(1761,52) Warning: Local variable “pmask” does not seem to be initialized
    bgragradientscanner.pas(1862,52) Warning: Local variable “ptex” does not seem to be initialized
    bgrapolygon.pas(1022,48) Hint: Variable “y2” does not seem to be initialized
    bgrapolygon.pas(1022,45) Hint: Variable “x2” does not seem to be initialized
    bgrapolygon.pas(1022,42) Hint: Variable “y1” does not seem to be initialized
    bgrapolygon.pas(1022,39) Hint: Variable “x1” does not seem to be initialized
    bgrapolygon.pas(1033,48) Hint: Variable “y2” does not seem to be initialized
    bgrapolygon.pas(1033,45) Hint: Variable “x2” does not seem to be initialized
    bgrapolygon.pas(1033,42) Hint: Variable “y1” does not seem to be initialized
    bgrapolygon.pas(1033,39) Hint: Variable “x1” does not seem to be initialized
    bgrasse.pas(334,19) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    bgrasse.pas(372,16) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    bgrasse.pas(402,16) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    bgrasse.pas(435,22) Warning: Check size of memory operand “movss: memory-operand-size is 64 bits, but expected [128 bits]”
    bgrasse.pas(446,22) Warning: Check size of memory operand “movss: memory-operand-size is 64 bits, but expected [128 bits]”
    perspectivecolorscan.inc(5,21) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivecolorscan.inc(7,21) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivecolorscan.inc(12,21) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivecolorscan.inc(14,21) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivecolorscan.inc(58,22) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivecolorscan.inc(5,21) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivecolorscan.inc(7,21) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivecolorscan.inc(12,21) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivecolorscan.inc(14,21) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivecolorscan.inc(58,22) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivecolorscan.inc(5,21) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivecolorscan.inc(7,21) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivecolorscan.inc(12,21) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivecolorscan.inc(14,21) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivecolorscan.inc(5,21) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivecolorscan.inc(7,21) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivecolorscan.inc(12,21) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivecolorscan.inc(14,21) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivescan2.inc(32,26) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivescan2.inc(32,26) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivescan2.inc(32,26) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivescan2.inc(32,26) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivescan2.inc(32,26) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivescan2.inc(32,26) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivescan2.inc(32,26) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivescan2.inc(32,26) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivescan2.inc(32,26) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivescan2.inc(32,26) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivescan2.inc(32,26) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivescan2.inc(32,26) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivescan2.inc(32,26) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivescan2.inc(32,26) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivescan2.inc(32,26) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivescan2.inc(32,26) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivescan2.inc(32,26) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivescan2.inc(32,26) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivescan2.inc(32,26) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivescan2.inc(32,26) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivescan2.inc(32,26) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivescan2.inc(32,26) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivescan2.inc(32,26) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivescan2.inc(32,26) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivescan2.inc(32,26) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivescan2.inc(32,26) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivescan2.inc(32,26) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivescan2.inc(32,26) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivescan2.inc(32,26) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivescan2.inc(32,26) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivescan2.inc(32,26) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivescan2.inc(32,26) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivescan2.inc(32,26) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivescan2.inc(32,26) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivescan2.inc(32,26) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivescan2.inc(32,26) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivescan2.inc(32,26) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivescan2.inc(32,26) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivescan2.inc(32,26) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivescan2.inc(32,26) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivescan2.inc(32,26) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivescan2.inc(32,26) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivescan2.inc(32,26) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivescan2.inc(32,26) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivescan2.inc(32,26) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivescan2.inc(32,26) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivescan2.inc(32,26) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    perspectivescan2.inc(32,26) Warning: Check size of memory operand “movss: memory-operand-size is 32 bits, but expected [128 bits]”
    bgracanvas.pas(917,36) Hint: Variable “y2” does not seem to be initialized
    bgracanvas.pas(917,33) Hint: Variable “x2” does not seem to be initialized
    bgracanvas.pas(917,30) Hint: Variable “y1” does not seem to be initialized
    bgracanvas.pas(917,27) Hint: Variable “x1” does not seem to be initialized
    bgracanvas.pas(996,36) Hint: Variable “y2” does not seem to be initialized
    bgracanvas.pas(996,33) Hint: Variable “x2” does not seem to be initialized
    bgracanvas.pas(996,30) Hint: Variable “y1” does not seem to be initialized
    bgracanvas.pas(996,27) Hint: Variable “x1” does not seem to be initialized
    bgracanvas2d.pas(962,3) Hint: Variable “AValue” of a managed type does not seem to be initialized
    bgracanvas2d.pas(1266,3) Hint: Variable “AValue” of a managed type does not seem to be initialized
    bgracanvas2d.pas(1570,25) Warning: function result variable of a managed type does not seem to initialized
    bgracanvas2d.pas(1843,3) Hint: Variable “repetition” of a managed type does not seem to be initialized
    blurfast.inc(170,12) Warning: Local variable “blurRowY” of a managed type does not seem to be initialized
    blurfast.inc(185,14) Warning: Local variable “blurRowX” of a managed type does not seem to be initialized
    blurnormal.inc(239,21) Warning: Local variable “sumA” does not seem to be initialized
    blurnormal.inc(239,21) Warning: Local variable “sumR” does not seem to be initialized
    blurnormal.inc(239,21) Warning: Local variable “sumG” does not seem to be initialized
    blurnormal.inc(239,21) Warning: Local variable “sumB” does not seem to be initialized
    blurnormal.inc(211,19) Warning: Local variable “DiffPixel” of a managed type does not seem to be initialized
    blurnormal.inc(168,15) Warning: Local variable “Pixel” of a managed type does not seem to be initialized
    blurnormal.inc(200,19) Warning: Local variable “DiffPixelArrayLineStart” of a managed type does not seem to be initialized
    blurnormal.inc(166,15) Warning: Local variable “PixelArrayLineStart” of a managed type does not seem to be initialized
    blurnormal.inc(239,21) Warning: Local variable “sumA” does not seem to be initialized
    blurnormal.inc(239,21) Warning: Local variable “sumR” does not seem to be initialized
    blurnormal.inc(239,21) Warning: Local variable “sumG” does not seem to be initialized
    blurnormal.inc(239,21) Warning: Local variable “sumB” does not seem to be initialized
    blurnormal.inc(211,19) Warning: Local variable “DiffPixel” of a managed type does not seem to be initialized
    blurnormal.inc(168,15) Warning: Local variable “Pixel” of a managed type does not seem to be initialized
    blurnormal.inc(200,19) Warning: Local variable “DiffPixelArrayLineStart” of a managed type does not seem to be initialized
    blurnormal.inc(166,15) Warning: Local variable “PixelArrayLineStart” of a managed type does not seem to be initialized
    blurnormal.inc(239,21) Warning: Local variable “sumA” does not seem to be initialized
    blurnormal.inc(239,21) Warning: Local variable “sumR” does not seem to be initialized
    blurnormal.inc(239,21) Warning: Local variable “sumG” does not seem to be initialized
    blurnormal.inc(239,21) Warning: Local variable “sumB” does not seem to be initialized
    blurnormal.inc(211,19) Warning: Local variable “DiffPixel” of a managed type does not seem to be initialized
    blurnormal.inc(168,15) Warning: Local variable “Pixel” of a managed type does not seem to be initialized
    blurnormal.inc(200,19) Warning: Local variable “DiffPixelArrayLineStart” of a managed type does not seem to be initialized
    blurnormal.inc(166,15) Warning: Local variable “PixelArrayLineStart” of a managed type does not seem to be initialized
    blurnormal.inc(239,21) Warning: Local variable “sumA” does not seem to be initialized
    blurnormal.inc(239,21) Warning: Local variable “sumR” does not seem to be initialized
    blurnormal.inc(239,21) Warning: Local variable “sumG” does not seem to be initialized
    blurnormal.inc(239,21) Warning: Local variable “sumB” does not seem to be initialized
    blurnormal.inc(211,19) Warning: Local variable “DiffPixel” of a managed type does not seem to be initialized
    blurnormal.inc(168,15) Warning: Local variable “Pixel” of a managed type does not seem to be initialized
    blurnormal.inc(200,19) Warning: Local variable “DiffPixelArrayLineStart” of a managed type does not seem to be initialized
    blurnormal.inc(166,15) Warning: Local variable “PixelArrayLineStart” of a managed type does not seem to be initialized
    bgrareadbmp.pas(229,23) Hint: Local variable “$result” does not seem to be initialized
    bgrareadbmp.pas(822,8) Warning: unreachable code
    bgrareadbmp.pas(845,8) Warning: unreachable code
    bgrareadbmp.pas(860,5) Note: Local variable “i” not used
    paletteformats.inc(339,24) Hint: Local variable “$result” does not seem to be initialized
    paletteformats.inc(326,24) Hint: Local variable “$result” does not seem to be initialized
    paletteformats.inc(319,24) Hint: Local variable “$result” does not seem to be initialized
    bgradefaultbitmap.pas(2053,29) Hint: Variable “ARect” does not seem to be initialized
    bgradefaultbitmap.pas(2393,3) Hint: Variable “sUTF8” of a managed type does not seem to be initialized
    bgradefaultbitmap.pas(3307,36) Hint: Variable “x” does not seem to be initialized
    bgradefaultbitmap.pas(3307,38) Hint: Variable “y” does not seem to be initialized
    bgradefaultbitmap.pas(3307,41) Hint: Variable “x2” does not seem to be initialized
    bgradefaultbitmap.pas(3307,44) Hint: Variable “y2” does not seem to be initialized
    bgradefaultbitmap.pas(3346,44) Hint: Variable “y2” does not seem to be initialized
    bgradefaultbitmap.pas(3346,41) Hint: Variable “x2” does not seem to be initialized
    bgradefaultbitmap.pas(3346,38) Hint: Variable “y” does not seem to be initialized
    bgradefaultbitmap.pas(3346,36) Hint: Variable “x” does not seem to be initialized
    bgradefaultbitmap.pas(4095,31) Hint: Variable “ABounds” does not seem to be initialized
    bgradefaultbitmap.pas(4120,31) Hint: Variable “ABounds” does not seem to be initialized
    bgradefaultbitmap.pas(4156,31) Hint: Variable “ABounds” does not seem to be initialized
    bgradefaultbitmap.pas(4270,14) Warning: Local variable “S” does not seem to be initialized
    bgradefaultbitmap.pas(4270,14) Warning: Local variable “Visited” of a managed type does not seem to be initialized
    bgradefaultbitmap.pas(4270,14) Warning: Local variable “VisitedLineSize” does not seem to be initialized
    bgradefaultbitmap.pas(4267,5) Warning: Local variable “Stack” of a managed type does not seem to be initialized
    bgradefaultbitmap.pas(4866,30) Hint: Variable “AOutputBounds” does not seem to be initialized
    bgradefaultbitmap.pas(4964,3) Hint: Variable “ABitmap” does not seem to be initialized
    bgradefaultbitmap.pas(5359,29) Hint: Variable “ARect” does not seem to be initialized
    bgradefaultbitmap.pas(5396,29) Hint: Variable “ARect” does not seem to be initialized
    bgradefaultbitmap.pas(5484,31) Hint: Variable “ABounds” does not seem to be initialized
    bgradefaultbitmap.pas(5498,31) Hint: Variable “ABounds” does not seem to be initialized
    bgradefaultbitmap.pas(5509,31) Hint: Variable “ABounds” does not seem to be initialized
    bgradefaultbitmap.pas(5522,31) Hint: Variable “ABounds” does not seem to be initialized
    bgradefaultbitmap.pas(5594,22) Hint: Variable “ARect” does not seem to be initialized
    bgradefaultbitmap.pas(5642,31) Hint: Variable “ABounds” does not seem to be initialized
    bgratext.pas(1174,26) Hint: Variable “ATextUTF8” of a managed type does not seem to be initialized
    bgralclbitmap.pas(681,7) Warning: unreachable code
    bgralclbitmap.pas(768,7) Warning: unreachable code
    bgragtkbitmap.pas(68,26) Error: Identifier not found “TGtk2DeviceContext”
    bgragtkbitmap.pas(68,44) Error: Error in type definition
    bgragtkbitmap.pas(118,36) Warning: unreachable code
    bgragtkbitmap.pas(123,5) Error: Illegal type conversion: “HDC” to “TGtkDeviceContext”
    bgragtkbitmap.pas(124,5) Error: Illegal type conversion: “HDC” to “TGtkDeviceContext”
    bgragtkbitmap.pas(129,36) Warning: unreachable code
    bgragtkbitmap.pas(229,36) Warning: unreachable code
    bgragtkbitmap.pas(230,25) Error: Illegal type conversion: “HDC” to “TGtkDeviceContext”
    bgragtkbitmap.pas(231,5) Error: Illegal type conversion: “HDC” to “TGtkDeviceContext”
    bgragtkbitmap.pas(234,36) Warning: unreachable code
    bgragtkbitmap.pas(272,5) Error: Illegal type conversion: “HDC” to “TGtkDeviceContext”
    bgragtkbitmap.pas(274,36) Warning: unreachable code
    Compile package zcore 7.2: Success, Hints: 4
    ZEncoding.pas(1743,67) Hint: Local variable “W” of a managed type does not seem to be initialized
    ZEncoding.pas(1894,67) Hint: Local variable “W” of a managed type does not seem to be initialized
    ZEncoding.pas(2112,57) Hint: Local variable “s” of a managed type does not seem to be initialized
    ZSysUtils.pas(2904,93) Hint: Function result variable of a managed type does not seem to be initialized
    Compile package zplain 7.2: Success, Warnings: 1, Hints: 1
    ZPlainFirebirdInterbaseConstants.pas(2307,21) Hint: C arrays are passed by reference
    ZPlainFirebirdDriver.pas(268,15) Warning: An inherited method is hidden by “Initialize;”
    Compile package pascalscada 0.7.5: Aborted, Hints: 13
    tag.pas(1143,49) Hint: Conversion between ordinals and pointers is not portable
    tag.pas(1179,25) Hint: Conversion between ordinals and pointers is not portable
    tag.pas(1180,25) Hint: Conversion between ordinals and pointers is not portable
    commport.pas(1047,31) Hint: Conversion between ordinals and pointers is not portable
    commport.pas(1082,40) Hint: Conversion between ordinals and pointers is not portable
    MelsecDriver.pas(460,3) Note: Local variable “qttags” not used
    MelsecDriver.pas(548,150) Hint: Local variable “tr” of a managed type does not seem to be initialized
    MelsecTCP.pas(76,4) Note: Local variable “aux” not used
    MelsecTCP.pas(327,3) Note: Local variable “i” not used
    MelsecTCP.pas(327,6) Note: Local variable “c” not used
    MelsecTCP.pas(327,9) Note: Local variable “c2” not used
    MelsecTCP.pas(327,13) Note: Local variable “size” not used
    MelsecTCP.pas(57,40) Hint: Unit “crossdatetime” not used in MelsecTCP

    • Fabio Luis Girardi Post authorReply

      Hi!

      What’s your OS?
      What’s your Lazarus version and arch (64 or 32 bits)?
      What’s your FPC version and arch (64 or 32 bits)?

  10. Jaco Reply

    Hi. I am trying to install Pascal Scada on the Raspberry Pi using the latest version of Lazarus (2.1.0) and FPC (3.3.1). The Bitmap controls wont install. I only need the Modbus Serial parts. How can I use only Modbus on a command line application ?

    • Fabio Luis Girardi Post authorReply

      Hi!

      Have you correctly setup the Raspberry Pi environment? Does your Rasp have at least 2GB of swap?

      Are you trying to install PascalSCADA via tarball ou via OPM? If you are trying to install via tarball/zip, please abort and use the package provided through OPM. For this, access menu Packages => Online Package manager, and then, choose PascalSCADA. I have a short article explaining how to install PascalSCADA via OPM, that in these days, it is the best way…

Leave a Reply

Your email address will not be published. Required fields are marked *