Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Dekomprimierung eines Streams (https://www.delphipraxis.net/139097-dekomprimierung-eines-streams.html)

GreenHorn3600 23. Aug 2009 20:59

Re: Dekomprimierung eines Streams
 
Hallo himitsu,

meinst Du zufällig die RTL-Version? Weiß nicht ob das so direkt abgefragt werden kann, im Kompiler, dafür aber im Kode. Doch wo die Probleme auftreten sind die ZLib und die INDY, da gab es einige Syntaxverwirrungen, was ich da so mitbekommen habe. Denke von daher wäre es wohl das sicherste, wenn die Kollegen /-innen welche die entsprechende Version haben, den 3-Zeiler mit beifügen und ihn auch Grad testen. Dann weiß man, daß es funktioniert. Wenn ich mir bspw. die Inkludes von einigen Frameworks ansehe, dann wird dort versucht über einen halben Meter die Unterscheidung einigermaßen zu egalisieren. Vielleicht kommen wir noch so weit mit dem WUS, aber laß uns doch mal klein anfangen und das ganze zum fliegen bringen :-)

Wird wahrscheinlich noch eine Gaudi, wenn Ansi- und UNI-Code gemischt werden, bei unterschiedlichen Codepage'es. Aber dies würde nur Versionen unterhalb D2009 betreffen, und die wenigsten werden noch damit arbeiten. Ansonsten muß man mal sehen, wie man dies am besten abbildet. Bin schon mal gespannt auf die Lösungsvorschläge (sind ja noch entsprechende Freiwillige gesucht).

Wünsche noch einen schönen Abend
Greeny

himitsu 23. Aug 2009 21:17

Re: Dekomprimierung eines Streams
 
die RTL-Version kann man natürlich auch abfragen, aber ist die Konstante natürlich in der RTL definiert.

man kann übrigens auch sowas machen, wenn man z.B. nicht sicher ist
Delphi-Quellcode:
{$IF Declared(TZCompressionStream)}
  zc: TZCompressionStream;
{$else}
  zc: TCompressionStream;
{$ifend}
(geht nicht nur mit Typen, sondern auch mit Variablen und Konstanten)

alzaimar 24. Aug 2009 07:10

Re: Dekomprimierung eines Streams
 
Ich würde mir einen eigenen TGreenDecompressionStream deklarieren, der dann ein direkter Nachfahre von der jeweiligen Compiler/ZLib-Version ist. Das spart sehr viel $IfDef-Direktiven und ist übersichtlicher. In deinem Code arbeitest Du dann nur mit dem 'TGreenCompressionStream' bzw 'TGreenDecompressionStream'.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:19 Uhr.
Seite 3 von 3     123   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz