Swelio 1.9

Swelio 1.9 is available for download: https://github.com/perevoznyk/swelio-sdk

In this release the memory allocation problem is fixed with help from Tim Messiaen. The problem causes errors in 64 bit mode and under debugger. I would recommend to all users to update to this release.

Additionally, the library to sign PDF documents with Belgian id card is available on GitHub: https://github.com/perevoznyk/swelio-pdf


11 thoughts on “Swelio 1.9

  1. Nice soft, thank you for this. I’m testing it and may have found a small bug: if you start the engine with a connected reader, read the card. Then disconnect the reader, and reconnect it: The reader changed event is not triggered, and the reader is not usable anymore until the engine is disposed and created again.


    1. The TraceEvent property is responsible for activating events response. When TraceEvent is set to true, the event will be triggered when card is inserted, removed or the list of the card readers changes (new reader is attached to PC or connected reader is removed). When event is triggered, TraceEvent value is automatically changes to false and event listener is deactivated.
      You can activate it again in your event handler, after you processed the event.

      For example:

      void engine_CardInserted(object sender, CardEventArgs e)
      engine.TraceEvents = true;

      The reason for this is the possible change of the card readers list. Also deactivation of the engine during event processing prevents dead locks.
      Thus, if you have the events tracing activated and remove the card – the event listener will be automatically deactivated. You need to activate it again to get and event when the reader is connected again, etc…


  2. Very good dll.
    But when you connect two or more readers, reading the address data (with ReadAddressExA) on port 1 (second reader) : the address data can not be read.

    ReadAddressExA(port 0 ) => ok
    ReadAddressExA(port 1) => does not read anything
    ReadAddressExA(port 2) => does not read anything

    Reading the Identity does work

    ReadIdentityExA(port 0 ) => ok
    ReadIdentityExA(port 1) => ok
    ReadIdentityExA(port 2) => ok.


    1. I do not have Delphi 10, thus can’t provide any support for it. From other side, swelio library provides plain API which is programming language neutral, and you can adapt it for your needs without too much effort, I believe


    1. Actually, I must use a parallel connection to the same smart card reader to send APDU command to Lock/Release/Eject the card.
      It will be simpler if I can send APDU command string and receive response directly with the Swelio dll.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s