'Coding' Category
TValue and other “Variants” like implementation tests
The recent post from Mason Wheeler about TValue speed was very interesting. I always had the impression, that variants were slow, but never tested that. So this was a surprise to me. But how fast the variants really are? There are other “variants” like implementations out there, so I decided to test them in a [...]
Build your XML the LinqToXML style in native code – Part I.
A lot of you probably already know SimpleStorage. For those who don’t: http://www.cromis.net/blog/2008/07/simple-xml-based-storage/ http://www.cromis.net/blog/2008/07/simple-xml-based-storage-part-ii/ http://www.cromis.net/blog/2009/07/simple-xml-based-storage-part-iii/ http://www.cromis.net/blog/2010/02/what-is-new-in-simplestorage/ I read a blog entry recently about LinqToXML and while I was exploring the possibilities that it has, I wondered. Can something like this be done with Delphi and native code? Now SimpleStorage already enables you to write XML [...]
Updated SimpleStorage demos and added IDocument
As I promised, I updated the demos. I added two new demos. One showing how to manipulate collection of documents and the other to show how to Encrypt / Decrypt whole documents. I also made a change in the “Cromis.SimpleStorage.Collection.pas” unit. There is now a new “IDocument” interface which is very simple: IDocument = Interface(IInterface) [...]
What is new in SimpleStorage
As you probably know by now (or not) SimpleStorage is a set of interfaces to ease the manipulation of XML documents. It is based on OmniXML, a wonderful Delphi XML parser. Simple Storage aims to treat XML as a practical data storage and means of data serialization and transportation. I have written about its usage [...]
How to start a GUI process from service, under Windows Vista/7
Today I had a interesting challenge in front of me. I had to start a GUI application under Windows Vista or 7 with elevated privileges. And I had to start it from a restricted account. Why? Because the process was meant to start from a USB drive and act as a data synchronization tool. So [...]