|
Post by Macaos on Feb 25, 2005 7:09:18 GMT -5
Hello Kevin I know that I should have upgraded , but I have to change to many prg. so sorry bugreport on this old but very nice component. (Maybe it also applies to the pro version who know ) I am zipping streams into a new archive where I have set the zip.archivestream:=msOut zip.ZipFromStream(somestream,'somename') ; //here the msout is still ok zip.zipfromStream(someOtherstream,'othername'); // here the msout is Suddenly INVALID // when I try to get the msout.position it // says "access violaton at ..." // but my archivestream are ok . This Happens only in some rare cases, but it seem like it the 'someStream' which is the trigger for the overrun. I know this is not much info, I will try if I can reproduce it , but I'm in doubt. Can you point me in any direction for a debugging. ups , forgot , using 2.23 Best Regards Kim
|
|
|
Post by Macaos on Feb 25, 2005 7:56:57 GMT -5
Hi again
Some Update
In the MoveTempFile ,,, there you free and give the thezipfile a new allocation, but my msOut is still pointing at the old location !!!!
procedure TVCLZip.MoveTempFile; begin If ArchiveIsStream then begin theZipFile.Free; theZipFile := zfile; zfile := nil; end Else ....
Best regards Kim
|
|
|
Post by Kevin on Feb 26, 2005 11:01:34 GMT -5
Kim,
You should always get the pointer back from VCLZip. By doing something like:
Zip.archivestream := msOut; ..... Do stuff msOut := TMemoryStream(Zip.archiveStream); // get it back Zip.archivestream := nil;
Kevin
|
|