

- #FREE PASCAL LONGINT HOW TO#
- #FREE PASCAL LONGINT INSTALL#
- #FREE PASCAL LONGINT CODE#
- #FREE PASCAL LONGINT WINDOWS 7#
ComServer ClientEventHandlers2 := TClientEventHandlers2. Main var Client : EasyUAClient EvsClient : TEvsEasyUAClient ClientEventHandlers2 : TClientEventHandlers2 begin // Instantiate the client object and hook events EvsClient := TEvsEasyUAClient. ToString ) end class procedure SubscribeEvent. OnEventNotification ( Sender : TObject sender0 : OleVariant eventArgs : _EasyUAEventNotificationEventArgs ) begin // Display the event WriteLn ( eventArgs. type TClientEventHandlers2 = class procedure OnEventNotification ( Sender : TObject sender0 : OleVariant eventArgs : _EasyUAEventNotificationEventArgs ) end procedure TClientEventHandlers2.
#FREE PASCAL LONGINT HOW TO#
This example shows how to subscribe to event notifications and display each // incoming event. Importing OpcLabs.BaseLibForms brings in a different version of mscorlib (2.0 instead of 2.4), therefore the fixes described earlier for mscorlib must be applied to that second import as well. For example, you may have to write SysUtils.Exception instead of simply Exception, because Exception is now also a class defined in mscorlib. Note that due to various commonly-named types in mscorlib, be prepared that by placing that imported library into uses of your program, some types may need further qualification.
#FREE PASCAL LONGINT CODE#
In order to resolve it, it is necessary to go back to the code generated for mscorlib (in both of them, again), and comment out the line with declaration of Pointer, as such:Īfter these changes, it should be possible to compile the. Opclabs_easyopcua_5_41_tlb.pas(8917,13) Error: Incompatible types: got "TEvsEasyUAClientConfiguration.EventSinkInvoke(TObject LongInt const TGuid LongInt Word tagDISPPARAMS _Pointer _Pointer _Pointer) " expected "" We have resolved this by renaming our arguments to sender0 (as aSender would cause conflict with Delphi type library importer instead).Īfter making these changes, we were getting error similar to the one below:

Note: Argument name sender used in QuickOPC COM event sink interfaces had conflicted with the additional Sender argument generated by Free Pascal type library importer. You need to do this in both mscorlib version imported (see further down). Work around this by commenting out the declarations of PByte, Byte, PDouble, Double, PInt64, Int64, PSingle and Single. There appears to be a problem with mscorlib import, its compilation resulting in errors like "mscorlib_2_4_tlb.pas(5108,16) Error: Type "Byte" is not completely defined". The detection of "dependant" libraries does not fully work, though - for example, OpcLabs.Baselib (OPC Labs Core Library) is not imported (the comment in the generated file says that it was not registered), therefore it is necessary to import some of the "dependant" libraries manually. Tools -> Import Type Library, select tab ActiveX References, type OPC Labs into the Search box, select one of our libraries (their names all start with "OPC Labs"), check Convert dependant typelibs, press OK.

Then, use the procedures described on the LazActiveX page under TActiveXContainer early binding.
#FREE PASCAL LONGINT INSTALL#
, select LazActiveX 0.1 under Available for installation, press Install selection, press Save and rebuild IDE. In order to use the COM type libraries of QuickOPC, it is needed to install the LazActiveX package (comes with Lazarus). Seen crashes when lazarus-1.6.2-fpc-3.0.0-win32.exe was used.
#FREE PASCAL LONGINT WINDOWS 7#
Later tested the pre-made code with lazarus-1.6.2-fpc-3.0.0-win64.exe, on Windows 7 (圆4), and Wind(圆4). Performed with Lazarus installation package lazarus-1.6.0-fpc-3.0.0-win64.exe, on Windows 7 (圆4).
