Introduction
First of all, feel free to send corrections or alternative ways to this method 🙂
The main goal of this page is to show how to install the current PascalSCADA on the current Lazarus version. Installing it on outdated Lazarus versions is a matter for another page — or feel free to write the instructions for the IDE you want.
Warning: PascalSCADA depends on other packages, which must be installed (or will be installed along with it):
- BGRABitmap — used by the HCl drawn controls. Available in Lazarus’ Online Package Manager.
- TAChart — used by
TTagLinkedSeriesSource. Ships with Lazarus. - SQLDB (
SQLDBLaz) — used byTHMIDBConnection. Ships with Lazarus. ZeosLib is no longer required since version 0.7.7.
DOUBLE WARNING: PascalSCADA is not like other SCADA systems. It is a package, plugin or add-on (call it what you like) that lets Lazarus build HMI/SCADA applications. So an installer with “Next”, “Next” and “Finish” buttons is not available.
What do I need before starting?
- Lazarus 2.0 or newer, with Free Pascal 3.0 or newer — PascalSCADA is developed and tested with FPC 3.2.2 and the latest stable Lazarus. On Windows, get Lazarus from the official page: http://www.lazarus-ide.org/. On Linux/FreeBSD, get it from your distribution’s software repository or, for the newest version, with fpcupdeluxe.
- The PascalSCADA code, from one of two sources:
- GitHub (recommended — it is where development happens):
git clone https://github.com/fluisgirardi/pascalscada_v0.git, or download the master branch ZIP and unpack it in a folder of your choice. - Lazarus’ Online Package Manager (Package → Online Package Manager): search for PascalSCADA. It is the shortest path, but the package published there is version 0.7.7 (2021); GitHub has the latest fixes and drivers.
- GitHub (recommended — it is where development happens):
- A program to unpack
.zipfiles, if you don’t usegit.
The SourceForge and SVN mentioned in older versions of this page are no longer used.
The packages
The PascalSCADA folder holds seven .lpk files:
| Package | Contains | Depends on |
|---|---|---|
pascalscada_common.lpk |
Threads, events, CRC, strings — the base of everything, no LCL. | FCL |
pascalscada.lpk |
Communication ports, protocol drivers, tags and scales. Works without the LCL (console applications and services). | pascalscada_common |
pascalscada_db.lpk |
THMIDBConnection and TFPSBufDataSet. |
SQLDBLaz |
pascalscada_dsng.lpk |
The design-time part: palette registration, Tag Builders, property editors. | pascalscada, IDEIntf |
pascalscada_hmi.lpk |
The HMI control library (HCl), security, loggers, on-screen keyboard. | pascalscada, pascalscada_db, pascalscada_dsng, BGRABitmapPack, TAChartLazarusPkg |
pascalscada_full.lpk |
Meta-package: installs pascalscada_dsng, pascalscada_hmi and pascalscada_db at once. The one you install. |
the three above |
pascalscada_externallibs_hmi.lpk |
Optional, Linux/FreeBSD only: the TSycRFIDReader RFID reader. Requires libhidapi on the system (sudo apt install libhidapi-dev) — without it Lazarus does not start after installing this package. See Security system. |
pascalscada_hmi |
Installing…
Well, the first thing to do is to install Lazarus. I don’t want to explain how to install Lazarus on every operating system/platform in this world, because installing Lazarus is a very simple task, both on Windows (with the “Next”, “Next”, “Finish” installer) and on Linux (sudo apt install lazarus). At the end of the Lazarus installation, open it and you should see something like this:
If your freshly installed Lazarus looks like the picture above, you are on the right track.
Install BGRABitmap first: Package → Online Package Manager, tick BGRABitmap and click Install. Lazarus downloads, compiles and rebuilds itself. (If you are going to install PascalSCADA through the OPM, skip this step — it resolves the dependency by itself.)
The next step is to install the PascalSCADA package. Please forget Lazarus for a moment. Go to the folder where you cloned or unpacked PascalSCADA.
Then, back in Lazarus, open the menu shown below (Package → Open Package File (.lpk)):
Click it and a file dialog shows up:
Browse to the PascalSCADA folder. It must contain the seven .lpk files of the table above. If you don’t see one of them, check the downloaded file, paths, etc. If everything is OK, your screen should look like this:
Select pascalscada_full.lpk and open it. The pascalscada_full package window shows up:
The last step is to install the package into your IDE. Click the “Use >>” button and then the “Install” menu, as shown below:
pascalscada_full is a meta-package, used only to make the full installation of PascalSCADA into your Lazarus IDE simple. Because of that, you will be bothered by a few messages:
Click “Install it, I like the fat” to carry on. The next screen lists every package that will be installed into your IDE during the process:
A closer picture (the current list is pascalscada_common, pascalscada, pascalscada_db, pascalscada_dsng and pascalscada_hmi; the screenshot is from a version that still included ZeosLib):
Click OK to continue and reach the final question about rebuilding the IDE:
To finish, click “Yes”. The installation starts and your IDE is rebuilt. When the rebuild ends, Lazarus restarts. If you have a project with unsaved changes, be careful!!
After the IDE restarts, you should find the following component palettes in your Lazarus:
If you can see these palettes, congratulations, you have successfully installed PascalSCADA into your Lazarus IDE. To be sure, open and build one of the examples — examples/laz_modbus_tcp_example is a good start.
Installing from the command line
For those who prefer the terminal, or to set up a build machine without opening the IDE, lazbuild does the same in two commands, from the PascalSCADA folder:
lazbuild --add-package pascalscada_full.lpk
lazbuild --build-ide=
The first registers the meta-package (and, through dependencies, the others) with the IDE; the second rebuilds Lazarus with them. BGRABitmap must be registered beforehand (installed through the OPM, or lazbuild --add-package path/to/bgrabitmappack.lpk).
Linux: permissions and libraries
- Serial ports: the user running the application must belong to the group owning the ports (
dialouton Debian/Ubuntu,uucpon other distributions):sudo usermod -aG dialout $USER, then log in again. See Communication ports. - RFID reader (
pascalscada_externallibs_hmi):libhidapi-devand the udev rule described in Security system. - Databases (
THMIDBConnection): the client library of the chosen database (libpq,libmariadb/libmysqlclient,libsqlite3, …) must be installed — SQLDB loads it at run time.
Updating
If you installed from GitHub: git pull in the PascalSCADA folder, then Package → Open Package File on pascalscada_full.lpk → Use >> → Install (or lazbuild --build-ide=), and the IDE rebuilds with the new code. Through the OPM, use the OPM’s own Update button.
What about Delphi?
The code keeps its Delphi directives and there are .dpr examples in the repository, but there are no ready-made Delphi packages (.dpk), and the current version is developed and tested on Lazarus/Free Pascal only. To use it on Delphi, expect to assemble the package yourself — and send the fixes.
Common problems
| Symptom | Likely cause |
|---|---|
| “Package BGRABitmapPack not found” while installing | BGRABitmap was not installed first. Install it through the OPM and try again. |
The IDE does not start after installing pascalscada_externallibs_hmi |
libhidapi is missing on the system (or you are on Windows, where this package does not work). Start Lazarus with --skip-last-project, uninstall the package and rebuild. |
Cannot find unit tcp_udpport (or another unit) when building a project |
The project lacks the package in its dependencies: Project → Project Inspector → Add → New Requirement and add pascalscada_hmi (or just pascalscada, for applications without the LCL). |
| Palettes show up but the components have no icon | Resources not regenerated after an update — rebuild the IDE (Tools → Build Lazarus with Profile). |
| Compilation error on an old Lazarus/FPC | Update: FPC 3.0 and Lazarus 2.0 are the minimum; 3.2.2 and the current stable Lazarus are recommended. |



















How to install Pascal SCADA Latest version in Code Thypon to update Component. And how to install in Delphi RAD Studio Berlin ?
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?
Is it possible to install PascalScada on Mac OS X ?
I did no tested PascalSCADA for Mac OS X, but it have no reasons to don’t work. Maybe we can test together?
What’s your Mac OS X?
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.
3Picure: I finished the changes for Mac OS X today. Can you download the latest revision from SVN and test?
ok I do test in few day… I’m on mavericks OS 10.9
Thanks
I download today and summary test!
It look like work :o)
great
thanks
You are welcome!
Its possible set digital input bit using pascalscada?
Yes and No. I need to known your architecture to answer your question. Please tell-me, whats your PLC?
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?
Hi Robin!
What’s the source of your PascalSCADA? Download? SVN?
Hi,
Thank you for quick reply 🙂
i downloaded pascalscada_0.7.3_20160726.tar
Best regards
Hi Robin!
See my Reply to @Goran
Test and report things that goes wrong.
Thanks by your feedback!
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?
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.
it works now on win10
thx
Hi Fabio,
Thank you.
It is working now 🙂
best regards
Robin
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
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.
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.
I finished a small example of how implement a simple alarming system.
You can take a look at:
https://sourceforge.net/p/pascalscada/code/HEAD/tree/trunk/examples/laz_alarming/
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
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;
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
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..?
Hi!
Do you have seen this:
https://sourceforge.net/p/pascalscada/code/HEAD/tree/trunk/examples/
??
Look folders that have “isotcp” on their names…
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?
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”
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
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)?
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 ?
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…
Hey
i get an error when i try to install pascal scada in lazarus.
Compile package pascalscada_full 0.7.5: exit code 1, errors 1;
pascalscada_full.pas(10,3) fatal: cannot find lazarusPackagelntf used by pascalscada_full. Check if package FCL is in the dependencies of package pascalscada_full
Appears to be a question specific to your Lazarus install environment. Had you tried to install PascalSCADA via OPM?
Hi.
I am trying to install Pascal Scada on the Raspberry Pi4 using the Lazarus (2.0.0) and FPC (3.0.4) via OPM.
After download 4 packages and extract them, i have this error:
Access Violation Press OK to ignore and risk data corruption.
Press Abort to kill the program.
Can you help me?
Thanks
Have you increased the swap memory size?
Hi Fabio,
I have increase swap memory to 2MB and then I have try to install PascalScada in Lazarus (2.0.0) via OPM.
This is the OPM Sequence:
1) Downloaded 4 packages (PascalScada with all dependency).
2) Extracted all packages
3) Opened and compiled these packages without error:
bgrabitmappack.lpk, bgracontrols.lpk,
pascalscada_common.lpk, pascalscada.lpk, pascalscada_db.lpk, pascalscada_hmi.lpk,
pascalscada_full.lpk
zcomponent.lpk
At the end a popup asked to rebuild Lazarus with profile: IDE Normal;
After presssed “Yes”, It compiled the profile without error, but at the end PascalScada packages are only extracted and not installed.
Also bgracontrol.lpk and zcomponent.lpk was only extracted and not installed.
Hve you any idea?
Olá boa tarde tudo bem ?
Percebi algo estranho no funcionamento.
Programação em lazarus eu somente sei o básico , porem microcontrolador já faz um bom tempo que programo.
Eu fiz a comunicação modbus , funcionou perfeitamente , porem como eu
programei com um microcontrolador , então da para eu manipular os bits , eu percebi uma coisa , se eu desabilitar qualquer um
dos bits de CRC (enviar zero no lugar), o scada pascal continua funcionar normalmente, ele somente para de receber se os dois bits de CRC
são suspenso.
Ele parece está fazendo um “ou” em vez de “E” no CRC ( ou esse ou aquele estiver correto)
Para minha funcionalidade não haverá problema algum , porem só estou relatando pois está parecendo um erro pois aumenta a
probabilidade de receber algum dado corrompido ….
Boa tarde Rodrigo!
Faz o seguinte: habilita o registro do log de comunicação no PascalSCADA e faz dois testes (e consequentemente, dois arquivos de log): Um com a geração de CRC habilitada no seu controlador E OUTRO TESTE com a geração do CRC desabilitada em seu controlador e me envia os dois arquivos de log. Descarregue os arquivos gerados neste link da minha conta no Mega ( https://mega.nz/megadrop/mHqhfY9fCzo ) para que eu possa investigar o que está acontecendo. Sinceramente isso não é para acontecer.
Obrigado pelo feedback Rodrigo!
Acabei de enviar os arquivos de log que você pediu.
fiz 4 arquivos de log.
1º funcionando com os dois CRC ( Modo normal )
2º desabilitei o primeiro CRC ( ele continua funcionando assim , recebendo dados na tela)
3º desabilitei o segundo CRC ( ele continua funcionado assim , recebendo dados na tela)
4º desabilitei os dois CRC ( assim para de mostrar na tela , é chamada o evento “OnCommErrorReading” )
A versão que estou usando do Scada/pascal é a que vem disponível o download através do lazarus ( 0.75)
Se quiser segunda feira te envio o código fonte do que estava fazendo
não senho problema quanto a isso ….
Consegue na sua aplicação colocar um TIPropertyGrid (paleta RTTI) e conectar a propriedade TIObject com o tag para observar qual valor a propriedade LastAsyncReadStatus está retornando?
Se vc não tem este componente instalado, vc vai no menu Pacote -> Instalar/Desinstalar Pacotes (Package -> Install/Uninstall packages). Na tela que irá abrir, procure na lista da direita (Pacotes disponíveis/Available packages) o pacote “RunTimeTypeInfoControls 0.x”, selecione-o e clique no botão “Instalar seleção” (install selection) e logo em seguida no botão “Salvar e reconstruir IDE” (Save and rebuild IDE)
Aguarde enquanto o lazarus instala o pacote e reinicia.
Me mande um print da tela em designtime e em runtime.
Bom fiz na verdade um vídeo , talvez fique melhor visível.
Já enviei o vídeo.
tive um problema pois o TIPropertyGrid não atualizava em tempo real , até coloquei um timer com o comando TIPropertyGrid.update mas nada feito , ele somente atualizava quando clicava em cima dos itens dele.
bom o vídeo está sequencial sem cortes …..
O primeiro momento é com o CRC normal ou seja com dos dois CRC
O segundo momento é sem o primeiro CRC
O terceiro momento é sem O Ultimo CRC
O Quarto é sem os dois CRC , neste caso ai sim ele para de atualizar os valores …….
Vi o video. Preocupante. Vou ver se consigo simular esta situação. Caso contrário vou ver com você, para fazer um acesso remoto e tentar identificar este problema, lógico, se você concordar.
Sim concordo , porem terá que ser em algum final de semana( sábado ou domingo ) .
Posso deixar tudo preparado quando precisar para o acesso online.
Porem vou dar um “Pitaco”de como você pode fazer a simulação sem a controladora
( meio que ensinado o padre a rezar rsrsrs) , aqui fiz uma simulação sem o controlador .
1º Coloquei dois conversores ( 2 USB / TTL ou 2 USB /rs485) liguei eles cruzados no computador.
2º Usei um terminal serial ( Hércules Terminal )
3º Somente programei para um unico endereço de memoria para os números ficarem mais simples (menores).
4º Deixei um timeout bem longo EX: 5 segundos. e o delay timer em 2,5 segundos.
5º Quando o scada pascal perguntar , eu envio a resposta pelo terminal , assim da para fazer a simulação.
Fiz um vídeo e duas fotos de exemplo já vou enviar…..
Conseguiu fazer a simulação ?
Bom dia Rodrigo!
Não tive tempo ainda.
Rodrigo, você me autoriza a fazer um acesso remoto na sua estação para identificar o bug?
Olá boa tarde.
pode sim , sábado ou domingo ?
Bom o ambiente de trabalho que você vai acessar é um Windows 7, instalação praticamente limpa , vai está dentro do Virtualbox.
Qual software você deseja usar para o acesso ?
ja vou deixar uma mini rede pronta rs 485 , no qual vai está ligado a controladora , e duas entradas no PC no qual pode se conectar o lazarus e algum monitor de serial.
Consegue sabado dia 27? Este final de semana estarei trabalhando em alguns clientes.
Dia 27 , quase certeza que sim.
Fica pré marcado para o dia 27.
Bom , para não ficar colocando dados inúteis aqui no seu site , vou enviando via e-mail para você ( o email de resposta deste site ), até porque depois vou ter que passar o acesso.
Qual programa vai usar para o acesso ? posso já adiantar e instalar….
me chama no Telegram https://t.me/Fabio_18883
Tenho licença do Anydesk. Pode ser?
Talvez te facilitaria mais ainda ….
Posso fazer um vídeo com a aplicação rodando e fazer uma rede 485 onde com um outro conversor USB colocar um scanner de serial para visualizar os bits de entrada e saída em tempo real ( algo bem semelhante aos logs gerado)…
Sua aplicação me ajudou bastante … por isso estou fazendo este feedback, grato.
Rodrigo Hernandes
I try to install PascalScada on Lazarus Release 2.0.12 (win64) and I found an error when the package is installed. When I do ” Use->Install” it starts to compile but it stops in the unit “BGRATypewriter” in the function “function TBGRACustomTypeWriter.GetGlyphBox()” in line 595 “if g = nil then result := TAffineBox.EmptyBox else “.
I have PascalScada working on Lazarus Release 2.0.6 (win64) without problems.
Can you help me on that? I need urgently to solve this problem.
Install PascalSCADA using OPM.
http://www.pascalscada.com/2017/04/04/pascalscada-on-opm-repository/
On next time, do:
# Remove/delete them Lazarus config folder
# remove/delete pascalscada folder and subfolders…
This is a hard cleanup 🙂 and you won’t have to reinstall Lazarus
Thank you Fabio for the hyper-quick answer. It works ! (but I had to try to install twice. In the first installation everything was ok until building the Lazarus IDE. It gave an error on the pascal database. I try to install again and it worked!
Once again, thank you !
Hi, I downloaded the latest package (0.7.5) today from sourceforge.
I am running W10 – 64 Bits and during compile for I got the following error messages:
(3104) Compiling bgratypewriter.pas
C:\lazarus\Ext_Pack\PascalSCADA_0.7.5(1).tar\PascalSCADA_0.7.5\bgrabitmap\bgratypewriter.pas(31,25) Hint: (5024) Parameter “ADest” not used
C:\lazarus\Ext_Pack\PascalSCADA_0.7.5(1).tar\PascalSCADA_0.7.5\bgrabitmap\bgratypewriter.pas(31,48) Hint: (5024) Parameter “AMatrix” not used
C:\lazarus\Ext_Pack\PascalSCADA_0.7.5(1).tar\PascalSCADA_0.7.5\bgrabitmap\bgratypewriter.pas(83,32) Hint: (5024) Parameter “Tree” not used
C:\lazarus\Ext_Pack\PascalSCADA_0.7.5(1).tar\PascalSCADA_0.7.5\bgrabitmap\bgratypewriter.pas(595,49) Error: (3349) Only static methods and static variables can be referenced through an object type
C:\lazarus\Ext_Pack\PascalSCADA_0.7.5(1).tar\PascalSCADA_0.7.5\bgrabitmap\bgratypewriter.pas(598,91) Error: (3349) Only static methods and static variables can be referenced through an object type
C:\lazarus\Ext_Pack\PascalSCADA_0.7.5(1).tar\PascalSCADA_0.7.5\bgrabitmap\bgratypewriter.pas(614,56) Error: (3349) Only static methods and static variables can be referenced through an object type
C:\lazarus\Ext_Pack\PascalSCADA_0.7.5(1).tar\PascalSCADA_0.7.5\bgrabitmap\bgratypewriter.pas(656,96) Error: (3349) Only static methods and static variables can be referenced through an object type
C:\lazarus\Ext_Pack\PascalSCADA_0.7.5(1).tar\PascalSCADA_0.7.5\bgrabitmap\bgratypewriter.pas(709,113) Error: (3349) Only static methods and static variables can be referenced through an object type
C:\lazarus\Ext_Pack\PascalSCADA_0.7.5(1).tar\PascalSCADA_0.7.5\bgrabitmap\bgratypewriter.pas(712,51) Error: (3349) Only static methods and static variables can be referenced through an object type
bgratypewriter.pas(963) Fatal: (10026) There were 6 errors compiling module, stopping
Fatal: (1018) Compilation aborted
Thanks and Best Reards – Thomas
Please use Online package manager to install pascalsvada (first remove the files/folders of your manual install)
https://www.pascalscada.com/2017/04/04/pascalscada-on-opm-repository/
Hello,
Thank you for excellent work and just a short question is there a CodeTyphon package planned? I think a lot of users now use CT and it would be “nice” to have support for it!
I just update Lazarus 2.0.21 then trying to install PascalSCADA and got an error on installing. Use->Install” it starts to compile but it stops in the unit “BGRATypewriter” in the function “function TBGRACustomTypeWriter.GetGlyphBox()” in line 595 “if g = nil then result := TAffineBox.EmptyBox else “. I see that we need to do Install PascalSCADA using OPM. http://www.pascalscada.com/2017/04/04/pascalscada-on-opm-repository. I follow the instruction and got an error – Google 404. That’s an error.
Olá Fabio, boa tarde!
Gostaria de saber se a atual versão do lázaros a 2.2.0 é compatível com o pascalscada? É que tentei instalar o pacote mas esta dando 4 erros, relacionados a tipos de variáveis…….
Olá Rogerio!
Desculpe demorar tanto pra responder, tive problemas no e-mail antigo e somente hoje tive tempo de arrumar essa confusão.
Sim, o PascalSCADA é compatível com o Lazarus 2.2.0, porem os pacotes que o PascalSCADA dependem ainda estão sendo ajustados para a nova versão. Notei recentemente que quem usa versões do Lazarus construidas com o FPCUPDeluxe que usam o FPC fixes (3.2.3 ou superior) tem diretivas de compilação que quebram a compilação do BGRABitmap, uma das dependencias do PascalSCADA. Porem se você usa versões do site (Laz 2.2.0 e FPC 3.2.0 ou Laz 2.2.2+FPC 3.2.2) estes problemas não deveriam acontecer. Ja tentou instalar o PascalSCADA numa configuração limpa do Lazarus?
I have tried to install PascalSCADA on a computer running Windows 7 (32-bit). Errors appeared with the latest versions. I had success with Lazarus 2.0.8 (with FPC 3.0.4) and PascalSCADA 0.7.5. Thank you Fabio and others for the great work you have done with this!
Hi Sven!
Sorry for taking too much time to reply. I had problems with old email address. Today I updated the site to use the new e-mail address.
Most of the install errors is due BGRABitmap dependency. Did you tried install PascalSCADA using OPM?
https://www.pascalscada.com/en/2017/04/04/pascalscada-on-opm-repository/
ZDbcCache.pas(3209,13) Error: Incompatible types: got “Boolean” expected “Int64”
why?i work in lazarus2.2.4 win10
Hi!
Did you see this:
https://www.pascalscada.com/pb/2017/04/04/pascalscada-on-opm-repository/
I strongly recommend you to install PascalSCADA throught OPM.