AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung PHP gzcompress(); Delphi ZDecompressStr ( ) Data error
Thema durchsuchen
Ansicht
Themen-Optionen

PHP gzcompress(); Delphi ZDecompressStr ( ) Data error

Ein Thema von luisk · begonnen am 27. Mai 2016 · letzter Beitrag vom 30. Mai 2016
Antwort Antwort
Seite 1 von 5  1 23     Letzte »    
Benutzerbild von luisk
luisk

Registriert seit: 18. Mär 2009
402 Beiträge
 
#1

PHP gzcompress(); Delphi ZDecompressStr ( ) Data error

  Alt 27. Mai 2016, 21:56
Hallo,
ich will über php einen String komprimieren
Delphi-Quellcode:
$compressed = gzcompress($s, 9);
echo $compressed ;
und über delphi dekomprimieren:
Delphi-Quellcode:
ls := idhttp1.Put(
       'http://127.0.0.1/.....php?bef='+ in_s_SQL
                   , nil );
          ld := ZDecompressStr ( @ls );
Problem: Meldung 'data error' beim Aufruf ZDecompressStr ( );
Woran kann es liegen ?

Geändert von luisk (27. Mai 2016 um 22:02 Uhr)
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.100 Beiträge
 
Delphi 12 Athens
 
#2

AW: PHP gzcompress(); Delphi ZDecompressStr ( ) Data error

  Alt 27. Mai 2016, 22:06
Bist du sicher das Put etwas zurückliefert ?

http://www.indyproject.org/docsite/h...ile=index.html

Rollo
  Mit Zitat antworten Zitat
Benutzerbild von luisk
luisk

Registriert seit: 18. Mär 2009
402 Beiträge
 
#3

AW: PHP gzcompress(); Delphi ZDecompressStr ( ) Data error

  Alt 27. Mai 2016, 22:09
Bist du sicher das Put etwas zurückliefert ?

http://www.indyproject.org/docsite/h...ile=index.html

Rollo
ja , das klappt einwandfrei. Ich kann den gezipten Code auch mit dem Debugger sehen.
Ohne Komprimierung läuft auch alles optimal.
Jetzt will ich halt noch die Übertragung optimieren.
Kann es sein, dass die Algorithmen von PHP und Delphi nicht zusammen passen ?

Geändert von luisk (27. Mai 2016 um 22:11 Uhr)
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.100 Beiträge
 
Delphi 12 Athens
 
#4

AW: PHP gzcompress(); Delphi ZDecompressStr ( ) Data error

  Alt 27. Mai 2016, 22:13
http://www.indyproject.org/docsite/h...TIdStream.html

Sorr^, der Link lässt sich nicht gut kopieren.
Aber muss nicht der Stream als 2. Parameter da rein ?

Rollo
  Mit Zitat antworten Zitat
Benutzerbild von luisk
luisk

Registriert seit: 18. Mär 2009
402 Beiträge
 
#5

AW: PHP gzcompress(); Delphi ZDecompressStr ( ) Data error

  Alt 27. Mai 2016, 22:24
http://www.indyproject.org/docsite/h...TIdStream.html

Sorr^, der Link lässt sich nicht gut kopieren.
Aber muss nicht der Stream als 2. Parameter da rein ?

Rollo
den Stream brauch ich nicht daher nil. (den verwende ich, wenn ich eine Datei auf den Server lade und mit php entzippe - das funktioniert)

Ich übergebe einen SQL-Befehl als HTML-Parameter.
Die Rückgabe klappt auch super, wenn ich nicht komprimiere.

Wenn ich komprimiere kommt auch eine Antwort, mit einem String der nur ca 1/10 lang ist.
Beim Dekomprimieren kommt dann das Problem.

Geändert von luisk (27. Mai 2016 um 23:18 Uhr)
  Mit Zitat antworten Zitat
hstreicher

Registriert seit: 21. Nov 2009
220 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

AW: PHP gzcompress(); Delphi ZDecompressStr ( ) Data error

  Alt 28. Mai 2016, 08:22
Nur so eine Vermutung
Transliterationsprobleme
Da wir weder die Delphi Version kennen noch den Typ derLS Variable
Vermute ich das der Rückgabewerte durch die Übergabe an die Variable in einen andere Darstellung konvertiert wird. Ansi UTF8 Widestring und. Versuche es mit ein Memorystream

Möglichkeit 2 du verwendest Pascal Strings die haben vorne 1 bis 2 Byte Längen Information und dein @ls im decompress faengt mit den falschen Bytes an

https://www.delphi-treff.de/tipps-tr...ll-downloaden/


Mfg Hannes

Geändert von hstreicher (28. Mai 2016 um 09:16 Uhr)
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#7

AW: PHP gzcompress(); Delphi ZDecompressStr ( ) Data error

  Alt 28. Mai 2016, 09:33
Die Indy TIdHTTP Komponente kann auch von Haus aus GZIP dekomprimieren, dazu muss einfach eiine TIdCompressorZLib Komponente erzeugt und der TIdHTTP.Compressor Property zugewiesen werden. Fundstelle: http://stackoverflow.com/a/8597492/80901
Michael Justin
  Mit Zitat antworten Zitat
Benutzerbild von luisk
luisk

Registriert seit: 18. Mär 2009
402 Beiträge
 
#8

AW: PHP gzcompress(); Delphi ZDecompressStr ( ) Data error

  Alt 28. Mai 2016, 14:39
Da wir weder die Delphi Version kennen noch den Typ derLS Variable

Mfg Hannes
Delphi Version : 10 Seattle
ls : string;

Danke für die Tips, es haut immer noch nicht hin.
Vielleicht hat der eine oder andere das auch mal umgesetzt.

Geändert von luisk (28. Mai 2016 um 14:49 Uhr)
  Mit Zitat antworten Zitat
hstreicher

Registriert seit: 21. Nov 2009
220 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#9

AW: PHP gzcompress(); Delphi ZDecompressStr ( ) Data error

  Alt 28. Mai 2016, 14:52
Was wird denn gesendet?

wenn ein Ansistring geliefert wird wird er wenn er in LS abgespeichert wird
in einen WIdestring (also 16 Bit/Char) umgebaut und die Binäre Codierung ist hinüber

mfg Hannes
  Mit Zitat antworten Zitat
Benutzerbild von luisk
luisk

Registriert seit: 18. Mär 2009
402 Beiträge
 
#10

AW: PHP gzcompress(); Delphi ZDecompressStr ( ) Data error

  Alt 28. Mai 2016, 15:09
ls=idhttp1.Put( l_url , nil );
liefert System.string


Vielleicht kann das mal noch jemand testen.

Geändert von luisk (28. Mai 2016 um 16:13 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 5  1 23     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:07 Uhr.
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