[delphizip] Re: Type name conflicts

  • From: "James Turner" <james.d.h.turner@xxxxxxxxxxxx>
  • To: <delphizip@xxxxxxxxxxxxx>
  • Date: Mon, 27 Sep 2004 10:10:18 +0100

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.

Other related posts: