AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi [zlib] AV beim freigeben vom CompressionStream
Thema durchsuchen
Ansicht
Themen-Optionen

[zlib] AV beim freigeben vom CompressionStream

Ein Thema von gsh · begonnen am 13. Nov 2007 · letzter Beitrag vom 21. Nov 2007
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von gsh
gsh

Registriert seit: 24. Okt 2004
1.542 Beiträge
 
Delphi XE Architect
 
#1

[zlib] AV beim freigeben vom CompressionStream

  Alt 13. Nov 2007, 21:34
Hi Leute

Ich hab grad ein problem bei zLib. Ich verwende diesen Code um eine datei zu komprimieren:
Delphi-Quellcode:
procedure Compress(InputFileName, OutputFileName: string);
var InputStream, OutputStream: TFileStream;
  CompressionStream: ZLib.TCompressionStream;
begin
  InputStream:=TFileStream.Create(InputFileName, fmOpenRead);
  try
    OutputStream:=TFileStream.Create(OutputFileName, fmCreate);
    try
      CompressionStream:=TCompressionStream.Create(clMax, OutputStream);
      try
        CompressionStream.CopyFrom(InputStream, InputStream.Size);
      finally
        CompressionStream.Free; //<--- hier kommt die AV
      end;
    finally
      OutputStream.Free;
    end;
  finally
    InputStream.Free;
  end;
end;
Ich verwende die zLib version 1.2.3
Alex
"Sage nicht alles, was du weißt, aber wisse alles, was du sagst!" Matthias Claudius
"Wer sich über Kritik ärgert, gibt zu, daß er sie verdient hat." Tacitus
  Mit Zitat antworten Zitat
Benutzerbild von gsh
gsh

Registriert seit: 24. Okt 2004
1.542 Beiträge
 
Delphi XE Architect
 
#2

Re: [zlib] AV beim freigeben vom CompressionStream

  Alt 14. Nov 2007, 13:41
*push*
Alex
"Sage nicht alles, was du weißt, aber wisse alles, was du sagst!" Matthias Claudius
"Wer sich über Kritik ärgert, gibt zu, daß er sie verdient hat." Tacitus
  Mit Zitat antworten Zitat
Benutzerbild von gsh
gsh

Registriert seit: 24. Okt 2004
1.542 Beiträge
 
Delphi XE Architect
 
#3

Re: [zlib] AV beim freigeben vom CompressionStream

  Alt 14. Nov 2007, 14:17
habs mal mit einem memory stream getestet und da bleibt er schon beim .Create hängen:
Delphi-Quellcode:
  Memory := TMemoryStream.Create;
  try
    Memory.LoadFromFile(cTestDatei);
    Memory.Position := 0;
    MemoryOUT := TMemoryStream.Create;
    try
      MemoryOUT.Size := Memory.Size;
      MemoryOUT.Position := 0;
      CompressionStream := TCompressionStream.Create(clMax, MemoryOUT); //<-- hier
      try
        CompressionStream.CopyFrom(Memory, Memory.Size);
      finally
        CompressionStream.Free;
      end;
    finally
      MemoryOUT.Free;
    end;
  finally
    Memory.Free;
  end;
  Memo.Lines.EndUpdate;
end;
und zwar mit diesem fehler:
Zitat:
---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt PerformanceTester.exe ist eine Exception der Klasse ECompressionError mit der Meldung 'error' aufgetreten.
---------------------------
Anhalten Fortsetzen Hilfe
---------------------------
Ich verstehs nicht ... kann es an meinen .obj liegen? Hab meine von pngimage "geklaut" weil ich sie nirgendwo anderes gefunden hab
Alex
"Sage nicht alles, was du weißt, aber wisse alles, was du sagst!" Matthias Claudius
"Wer sich über Kritik ärgert, gibt zu, daß er sie verdient hat." Tacitus
  Mit Zitat antworten Zitat
Benutzerbild von gsh
gsh

Registriert seit: 24. Okt 2004
1.542 Beiträge
 
Delphi XE Architect
 
#4

Re: [zlib] AV beim freigeben vom CompressionStream

  Alt 18. Nov 2007, 11:47
Weiß denn niemand rat?

Ich versteh die welt einfach nimmer ich schauf es nicht irgendwas mit zLib zusammen zu bekommen

hab grad mal versucht zu dekomprimieren und erhalte den fehler des ich nich genug arbeitsspeicher hab und zwar hier:
Delphi-Quellcode:
function zlibAllocMem(AppData: Pointer; Items, Size: Integer): Pointer; cdecl;
begin
// GetMem(Result, Items*Size);
  Result := AllocMem(Items * Size);
end;
Was mach ich falsch?????
Alex
"Sage nicht alles, was du weißt, aber wisse alles, was du sagst!" Matthias Claudius
"Wer sich über Kritik ärgert, gibt zu, daß er sie verdient hat." Tacitus
  Mit Zitat antworten Zitat
Benutzerbild von phreax
phreax

Registriert seit: 1. Mai 2006
Ort: Dresden
147 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: [zlib] AV beim freigeben vom CompressionStream

  Alt 18. Nov 2007, 13:23
Da scheint wohl irgendwas mit deiner Zlib Version nicht zu stimmen, dein Code aus dem ersten und der aus dem 3. Post funktionieren einwandfrei unter Turbo Delphi mit Zlib 1.0.4.

BTW: Im 3. Post hat sich ein Fehler eingeschlichen: dadurch, dass die Größe des OutPutStreams auf die des Inputstreams gesetzt wird, werden hinten an den komprimierte Output soviele $00 angehängt, das er wieder genau so groß ist wie der Input
Und dann war da noch der junge Mann ....
... der unbedingt Schriftsteller werden wollte.
Er wollte Emotionen wecken und die Leute zum weinen bringen.
Sein Traum wurde wahr, er verfasst heute die Fehlermeldungen bei Microsoft!
  Mit Zitat antworten Zitat
Benutzerbild von gsh
gsh

Registriert seit: 24. Okt 2004
1.542 Beiträge
 
Delphi XE Architect
 
#6

Re: [zlib] AV beim freigeben vom CompressionStream

  Alt 18. Nov 2007, 13:35
Zitat von phreax:
Da scheint wohl irgendwas mit deiner Zlib Version nicht zu stimmen, dein Code aus dem ersten und der aus dem 3. Post funktionieren einwandfrei unter Turbo Delphi mit Zlib 1.0.4.
hmm kann es an meinen .obj dateien liegen?
den wie oben erwähnt hab ich die von pngdelphi geklaut weil ich sie nirgends gefunden hab.
hab aber grad endeckt des pngdelphi noch die version 1.1.4 benutzt

Wo bekomm ich den die dateien in der aktuellesten version her?

Zitat von phreax:
BTW: Im 3. Post hat sich ein Fehler eingeschlichen: dadurch, dass die Größe des OutPutStreams auf die des Inputstreams gesetzt wird, werden hinten an den komprimierte Output soviele $00 angehängt, das er wieder genau so groß ist wie der Input
aja stimmt aber ich wollte mal fehlerquellen auschließen
Alex
"Sage nicht alles, was du weißt, aber wisse alles, was du sagst!" Matthias Claudius
"Wer sich über Kritik ärgert, gibt zu, daß er sie verdient hat." Tacitus
  Mit Zitat antworten Zitat
Benutzerbild von gsh
gsh

Registriert seit: 24. Okt 2004
1.542 Beiträge
 
Delphi XE Architect
 
#7

Re: [zlib] AV beim freigeben vom CompressionStream

  Alt 19. Nov 2007, 17:16
*push*
Alex
"Sage nicht alles, was du weißt, aber wisse alles, was du sagst!" Matthias Claudius
"Wer sich über Kritik ärgert, gibt zu, daß er sie verdient hat." Tacitus
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#8

Re: [zlib] AV beim freigeben vom CompressionStream

  Alt 19. Nov 2007, 20:04
Ich werde es morgen mal mit BDS2006 testen auf Arbeit, aber ich weise gleich darauf hin, dass wir dort die PNGImage einsetzen und die direkten C Quellen und nicht die Objekte. Dabei sind die C Quellen auf dem neusten Stand (1.2.3 afair) und werden direkt in eine LIB compiliert und dann entweder von Delphi per $L angezogen oder hat von C++. Ich werde es mal testen und Bescheid geben. Wenn ich es vergesse, nochmal nachhaken bitte...
  Mit Zitat antworten Zitat
Benutzerbild von gsh
gsh

Registriert seit: 24. Okt 2004
1.542 Beiträge
 
Delphi XE Architect
 
#9

Re: [zlib] AV beim freigeben vom CompressionStream

  Alt 19. Nov 2007, 21:33
ahm ja vllt kannst du mir ja die .obj schicken oder mir sagen wie man die in der neusten version erstellt

hab ja auch BDS2006
Alex
"Sage nicht alles, was du weißt, aber wisse alles, was du sagst!" Matthias Claudius
"Wer sich über Kritik ärgert, gibt zu, daß er sie verdient hat." Tacitus
  Mit Zitat antworten Zitat
Benutzerbild von gsh
gsh

Registriert seit: 24. Okt 2004
1.542 Beiträge
 
Delphi XE Architect
 
#10

Re: [zlib] AV beim freigeben vom CompressionStream

  Alt 20. Nov 2007, 16:59
*nachhack* und?
Alex
"Sage nicht alles, was du weißt, aber wisse alles, was du sagst!" Matthias Claudius
"Wer sich über Kritik ärgert, gibt zu, daß er sie verdient hat." Tacitus
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 22:35 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