Habe heute versucht ein Projekt von 104 auf 113 zu migrieren, das per system.zip.tzipfile dateien aus einer zip datei extrahiert.
In 104 läuft der code einwandfrei, jedoch wird in 11.3 in der
unit system.zip Zeile 1732 eine
access violation geworfen da offensichtlich eine Klassenvariable nicht erstellt wurde (bzw der class constructor TZipFile.Create nicht aufgerufen wurde)
Delphi-Quellcode:
TZipFile = class
private type
TCompressionDict = TDictionary< TZipCompression , TPair<TStreamConstructor, TStreamConstructor > >;
private class var
FCompressionHandler: TCompressionDict;
{..}
procedure TZipFile.Read(Index: Integer; out Stream: TStream; out LocalHeader: TZipHeader);
{..}
1732: // Create Decompression stream.
StreamCons := FCompressionHandler[TZipCompression(FFiles.List[Index].CompressionMethod)].Value; //hier ist das feld FCompressionHandler nicht assigned!
Es wurde kein Code geändert, derselbe Code läuft in ..10.4.
Wer kann mir einen Tip geben?