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
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.
LikeLike
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)
{
GetInfoFromCard();
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…
LikeLike
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.
LikeLike
Great work,
Any chance you might release this for Delphi 10.1 Berlin?
LikeLike
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
LikeLike
Is there a possibility to read the EID card from the web?
LikeLike
For reading eID card from the web application, you need eID Applet. This is an open source project on GitHub https://github.com/e-Contract/eid-applet
LikeLike
Is there a way to send APDU command on the connected reader using your dll?
LikeLike
This function is private, but I can make it public, if necessary.
LikeLike
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.
LikeLike
I will add this function in the next release on GitHub: https://github.com/perevoznyk/swelio-sdk as soon as possible
LikeLike
Hi,
Any chance you can create a nuget package for Swelio?
Thanks!
LikeLike
https://www.nuget.org/packages/Swelio/
LikeLike