Although I’m regularly pushing updates into
Google Code repository, updates to my web pages and, incidentally, to my blog are dragging behind. Here is the last year worth of changes:
- Faster DSiFileExtensionIs.
- [achim] DSiAddApplicationToFirewallExceptionListXP could fail with "Unknown resoveConflict" exception due to a syntax error.
- [tommi prami] Compiles with D7.
- [miha] SetErrorMode (SEM_NOOPENFILEERRORBOX) is called before LoadLibrary to prevent opening messagebox by Windows.
- Implemented DSiGetThreadTime (two overloaded versions).
- Compiles with XE2 (in 32-bit and 64-bit mode).
- Removed dependency on the Consts unit.
- Scoped unit names are used in XE2.
- [GJ] Assembler implementation of the x64 version of Interlocked*64 family of functions.
- Set msg.Result := 0; in DSiClassWndProc.
- Prefetcher refactored so that the semantics is clearer. Functionality stays the same.
- Fixed bugs in prefetcher.
- Fixed memory leak in prefetcher.
- Must not invalidate buffer in 'half closed' mode.
- BlockRead was not functioning properly when called at the end of file (when previous call to BlockRead already returned less data than requested) if
buffered mode was used.
- [Istvan] TGpHugeFile.Fetch didn't decrement hfBufSize when reading from buffer. bufp was incremented by requested (read) amount instead of actually read (trans) amount
- TGpHugeFile.Fetch did not always set block size when block was read from prefetcher.
- Added method FreeObjects to TGpIntegerObjectList and TGpInt64ObjectList.
- Implemented limited size FIFO buffer - TGpFIFOBuffer.
- Find functions check (in Assert) if the list is sorted.
- Added TGpIntegerObjectList<T>, a thin wrapper around TGpIntegerObjectList (D2010+).
- Added TGpInterfaceList<T>, a thin wrapper aroung TList<T>, which implements GpInterfaceList<T> (D2010+).
- All lists classes implement appropriate interface (for example, TGpIntegerList implements IGpIntegerList).
- Each list implements class function CreateInterface which creates corresponding interface-implementing object.
- Speed optimizations in TGpDoublyLinkedList.
- Added class TGpWideString.
- Implemented function GetCurrentSIDName.
- Added methods WriteWideStr and WritelnWide to the TGpStreamEnhancer.
- TGpJoinedStream uses Int64 for offsets.
- Fixed TStream helper to not cause internal compiler errors in Delphi XE.
- Added function TGpJoinedStream.RemoveStream and .RemoveProcessedStreams.
- TGpJoinedStream.StreamCount and .Stream[] made public.
- TGpJoinedStream can take ownership of substreams.
- Added function TGpStreamEnhancer.CheckTag.
- Implemented TGpStringInterfaceHash, a string-indexed hash of interfaces.
- Fixed HashOf operation in 64-bit code.
- Implemented procedure DontOptimize. Call DontOptimize(x) if you want to prevent compiler from optimizing out the variable x.
- Implemented IGpAutoDestroyObject.
- Implemented IGpTraceable.LogReferences.
- X64 compatible.
- [GJ] Assembler implementation of the x64 implementation of the TableFind* functions.
- Added TGpMemoryBuffer - preallocated, growable caching memory buffer for one specific memory size.
- Implemented EnumFiles enumerator.
- [Erik Berry] 'Size' property has changed to int64 in Delphi 6.
- [Erik Berry] EnumLines is only compiled if compiler supports enumerators.
- Implemented Locale and Codepage properties.
No comments:
Post a Comment