The key to structural improvements is to create a single new DLL that can decompress data streams (all formats up to Deflate) and preform compression of data streams (only Deflate is required but Deflate 64 could be added later). There are many ways to go from there. For instance a second DLL could provide shared functions between Pascal and C++ implementations. However, the second DLL need only be required for the C++ version being implemented using the Pascal version (or vice-versa). All the manipulations - span, sfx, repair etc. are straight forward - I have code to do all this (plus Pascal inflate code from my sfx) but I haven't found time to document, tidy and publish it but I would be happy to contribute it to the project. -- James Turner ----- Original Message ----- From: "R. Peters" <russellpeters@xxxxxxxxxxx> To: <delphizip@xxxxxxxxxxxxx> Sent: Monday, September 27, 2004 12:52 AM Subject: [delphizip] Re: Type name conflicts > That sounds like a good idea. > I am trying to get rid of ZipConfig as changes to it have some very nasty > effects that frequently are hidden. > I am also trying to break ZipMaster into 3 components to remove > conditionals > controlling internal/external SFX and Span support. > I would kick the person who made it so we could include/exclude these > features but I don't like pain. > > Using TZM and zm? would mean Builder could use TZB and zb? and should give > even fewer conflicts. > > I think I remember someone suggesting this ages ago but it was never acted > upon because of the work needed but the requirement won't go away. > > - Russell Peters > -----Original Message----- > From: delphizip-bounce@xxxxxxxxxxxxx > [mailto:delphizip-bounce@xxxxxxxxxxxxx] > On Behalf Of James Turner > Sent: Monday, 27 September 2004 9:15 AM > To: delphizip@xxxxxxxxxxxxx > Subject: [delphizip] Re: Type name conflicts > > I thought about this ages ago. > > My own thoughts were to use type names beginning TZM and enumerations > beginning zmx where x depended on the enumeration type. > > To maintain backward compatibility, you could create a unit called, say, > zmCompat that contained constant definitions between the old enumeration > values and the new. > > e.g. > > unit zmCompat; > > interface uses .........; > > const > NewFile = zmpNewFile; > ProgressUpdate = zmpUpdate; > > ............ etc. > > The same could be done with types. > > Simply by including this extra unit in the uses list, old code could be > made > > to run without difficulty. > > -- James Turner > > ----- Original Message ----- > From: "R. Peters" <russellpeters@xxxxxxxxxxx> > To: <delphizip@xxxxxxxxxxxxx> > Sent: Sunday, September 26, 2004 10:49 PM > Subject: [delphizip] Type name conflicts > > >>I think the has about come when the type names and enumerations must be >> changed to reduce conflicts. >> Unless someone can come up with better idea I propose >> 1. Type names start with 'TZip' >> 2. enumerations start with 'z' >> >> Eg >> ProgressType = (NewFile, ProgressUpdate, ... >> TZipProgressType = (zptNewFile, zptProgressUpdate, ... >> >> It may be possible to reduce the impact of these changes via a define (in >> ZipConfig.inc) and some conditional statements but I doubt if that will >> stop >> all errors. >> >> It is a pity there is no way to tell Delphi that 2 enums are equivalent! >> >> - Russell Peters >> >> ----------- >> To unsubscribe from this list, send an empty e-mail >> message to: >> delphizip-request@xxxxxxxxxxxxx >> and put the word unsubscribe in the subject. >> > > ----------- > To unsubscribe from this list, send an empty e-mail > message to: > delphizip-request@xxxxxxxxxxxxx > and put the word unsubscribe in the subject. > > ----------- > To unsubscribe from this list, send an empty e-mail > message to: > delphizip-request@xxxxxxxxxxxxx > and put the word unsubscribe in the subject. > ----------- To unsubscribe from this list, send an empty e-mail message to: delphizip-request@xxxxxxxxxxxxx and put the word unsubscribe in the subject.