The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Email Subscription

    Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 716 other subscribers

Archive for April 17th, 2018

TTemporaryFileStream – via DELPHI AREA » How to have a temporary stream, with no size limit

Posted by jpluimers on 2018/04/17

I needed a TTemporaryFileStream and found it at [WayBack] DELPHI AREA » How to have a temporary stream, with no size limit.

It taught me that CreateFileA and CreateFileW (the ANSI and Unicode versions of [WayBack] CreateFile function (Windows)) accept a FILE_FLAG_DELETE_ON_CLOSE parameter, so as soon as you close the handle, Windows will dispose of the file.

Note however that this will apply to the file handle so if you want to open it multiple times, you need [WayBack] DuplicateHandle function (Windows) as per [Archive.is] The FILE_FLAG_DELETE_ON_CLOSE flag applies to the handle, also known as the file object, which is not the same as the file – The Old New Thing

–jeroen

Posted in Delphi, Development, Software Development, The Old New Thing, Windows Development | Leave a Comment »

Why you should try to avoid using Variant operations in Delphi

Posted by jpluimers on 2018/04/17

[WayBack] Delphi “WAT?!” of the day: var v1, v2: Variant; begin v1 := True; v2 := True… shows some interesting code.

The [WayBack] Variant Types (Delphi) – RAD Studio: Variant Type Conversions (and the decimal point/comma handling or rounding issues not documented there) usually kill you and are the most important reason to avoid Variant operations in Delphi.

–jeroen

https://gist.github.com/jpluimers/82dfb5bd040e6f1b29914f9913992254

Posted in Delphi, Development, Software Development | 5 Comments »