Git Product home page Git Product logo

abbrevia's People

Contributors

jimmckeeth avatar romankassebaum avatar tuffff avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

abbrevia's Issues

Compilation in Delphi 10 for android

Hi, i have installed Delphi 10 Seattle trial version. With "Getit" i install Abbrevia TurboPack 10.0 ...components from packed have problem in compilation for android platform. When i use any component fro Abbrevia on blank form then i have in debugging this error:
[DCC Error] E2597 ....\prebuilt\windows\bin\arm-linux-androideabi-ld.exe: error: cannot find -lbz2
In compilation for windows is all OK.
How fix it?
Thanks you, Michal.

VDI files

i'm using TAbZipper in my application, and when i compress vdi files all be fine, but the uncompress process results an error, like "your file is not valid or corrupt", someone know why this happened?

p.s.:sorry the english i'm brazilian

Range check error when opening tgz file

I can not open the attached tgz file with Abbrevia.

ParkLan.zip
(the tgz file is zipped so that github will accept it)

See code and callstack below

z:=TAbUnzipper.Create(nil);
z.TarAutoHandle:=True;
z.Stream:=str;

:770a96c2 KERNELBASE.RaiseException + 0x62
AbBytes.TAbBytes.StrLCopy($467E179,???,0)
AbBytes.TAbBytes.StrLCopy($57794B0,'',100)
AbBytes.TAbBytes.StrPLCopy($57794B0,'',100)
AbTarTyp.TAbTarItem.SetFileName('')
AbTarTyp.TAbTarItem.Create
AbTarTyp.VerifyTar($7B745F0)
AbBrowse.AbDetermineArcType($7B745F0)
AbZBrows.TAbCustomZipBrowser.SetStream($7B745F0)

TBZCompressionStream fail in D11

Due to changes in System.Classes in Delphi 11, TBZCompressionStream.Seek fails, because it is called with soBeginning or soEnd.
This has already been discussed in #19 but not yet solved.

Workaround:

function TBZCompressionStream.Seek(const Offset: Int64; Origin: TSeekOrigin): Int64;
var
  conv64 : TLargeInteger;
begin
  if (Offset = 0) and (Origin = soCurrent) then begin
    conv64.LowPart  := FBZRec.total_in_lo32;
    conv64.HighPart := FBZRec.total_in_hi32;
    Result := conv64.QuadPart;
  end
  else                                         // <<
  if (Origin in  [soBeginning, soEnd]) then    // <<  Workaround
    Result := 0                                // <<
  else
    raise EBZCompressionError.Create('Invalid stream operation');
end; { TBZCompressionStream }

strange code in AbDfInW.pas

Hi,

I came across code in procedure TAbDfInputWindow.iwSlide; and don't get it(win64 compilation, but it don't matter):

Buffer := Integer(FBuffer);
.....
if (ListItem^ < Buffer) then
ListItem^ := 0;

If depends on where FBuffer is allocated. I made a test(zip file) and even though in one case Buffer came positive and in second case negative(so code behaved differently in this place), overall result was the same. Is it a potential bug? Can somebody shed a bit light on the matter?

tomas

Bzip2 compression broken with Delphi 11

Hello,

the following code will raise an exception "EBZCompressionError" in "TBZCompressionStream.Seek" if compiled with Delphi 11:

procedure TForm1.Button1Click(Sender: TObject);
var
Source: TMemoryStream;
CompressionStream: TStream;
Dest: TMemoryStream;
begin
Source := TMemoryStream.Create;
try
Source.LoadFromFile('C:\temp\temp.txt');
Dest := TMemoryStream.Create;
try
CompressionStream := TBZCompressionStream.Create(bs1, dest);
try
CompressionStream.CopyFrom(Source, 0);
finally
CompressionStream.Free;
end;
finally
Dest.Free;
end;
finally
Source.Free;
end;
end;

In Delphi 11 TStream.CopyFrom has changed a lot. I think this is the reason for the error.

Installing to Alexandria 11.2

Hi,
When I install AbbreviaVCLDDesign.dpk it fails with errors:
[dcc32 Fatal Error] AbbreviaVCLD.dpk(56): E2225 Never-build package 'designide' must be recompiled
[dcc32 Fatal Error] AbbreviaVCLDDesign.dpk(60): E2202 Required package 'AbbreviaVCLD' not found

error

How to decompress an Abbrevia compressed binary file using C#

Hi, I have a compresses stream generated by a another application that uses Abbrevia and I have to decompress it using a C# application. The stream (binary file for me) doesn't have any standard header and every c# library say that the stream is not recognized. What can I do? Is there a compiled utility tu use as external application?

Regards
G.

Abbrevia still requests a "Floppy" disk

When requesting a removable disk, Abbrevia still refers it as a “Floppy” disk. Suggest changing “floppy” strings in AbResString.pas to just “disk” or “removable disk” since floppy disks are obsolete.

Delphi 2010 support is broken.

Latest version cannot be compiled in delphi 2010. At least a release with the last stable commit for this version could be provided.

AbUtils AbDriveIsRemovable

Hi. Not sure this project is active but thought I'd add an issue I had with AbZipKit and AbDriveIsRemovable.

When using a USB drive for storage of my zip files, I kept getting "Insert Floppy" messages. This is a 2 gig USB. I tracked it down to AbDriveIsRemovable. I just hard coded it to return "false" so I could make it work. However, maybe a property could be added, something like "CheckRemovable," or maybe add some additional checks to the result from AbDriveIsRemovable, like archivetype = atSpannedZip, and/or SpanningThreshold > 0. Or, is there some other way to handle this problem besides changing the source function?

Just thought I'd put this out there.

unit AbHexVw

Line:
{$I AbDefine.inc}

Needs to go after:
unit AbHexVw;

Otherwise I get:
[Error] AbDefine.inc(99): Constant expression expected
[Fatal Error] AbbreviaVCL.dpk(70): Could not compile used unit '....\source\AbHexVw.pas'

Package compatible problem

Hello,

compiling a package which references an Abbrevia one generated this error:

[dcc32 Fatal Error] Controller.dpk(46): E2202 Required package 'getit' not found

getit package is required:

Add getit.
getit contains implicit unit(s) AbBrowse, AbBzip2Typ, AbBytes, AbBitBkt, AbExcept, AbResString, AbConst, AbUtils, AbCharset, AbVMStrm, AbBzip2, AbTarTyp, AbArcTyp, AbDfBase, AbGzTyp, AbDfEnc, AbDfPkMg, AbDfCryS, AbDfStrm, AbDfXlat, AbDfHufD, AbDfInW, AbDfDec, AbDfOutW, AbZipTyp, AbSpanSt, AbCabTyp, AbFciFdi, AbBase, AbZBrows, AbUnzPrc, AbUnzOutStm, AbSWStm, AbWavPack, AbCrtl, AbPPMd, AbLZMA.

Best regards.

Not an Abbrevia bug - ShellShock Inquiry

Just an idea...

I've finally recently upgraded my development environment from Delphi XE7 to Delphi 10.2.3 Tokyo (yeah, I'm still behind the times!), and in doing so, found it very cool to see this (and several other) package available in GetIt Package Manager (GPM). Previously, I had come here (before that, SourceForge, and before that, purchased from TurboPower!) for the former TurboPower packages, but I found no support for ShellShock. I grabbed the latest from SourceForge (I think), but found a number of problems. I finally got it to work, but wished I could have just gotten it form GPM or here.

Do you have any plans to add that package here? Would you like someone to help a bit? I can certainly help with identifying what I've done and do a bit of testing...

Load zip file containing file without datetime will throw error

AbUtils.pas

function AbDosFileDateToDateTime(FileDate, FileTime : Word) : TDateTime;
{$IFDEF MSWINDOWS}
var
  Temp : Integer;
begin
  LongRec(Temp).Lo := FileTime;
  LongRec(Temp).Hi := FileDate;
  Result := FileDateToDateTime(Temp); //error in here, Invalid argument to date encode
{$ENDIF MSWINDOWS}

Component that I used :

  • TAbUnzipper
  • TAbListView

Error zipping large file on iOS: VMSXXXXXX not found

In a iOS mobile app, zipping up a small set of files does not cause an error. However, zipping up a large set of files, maybe a total of 8MB or more, iOS errors with tmpPath/VMSXXXXXX file or directory not found. This does not seem to happen on Android with the same set of files. Maybe size does matter.

VMSXXXXXX is a temp file created in AbUtils.pas. VMS is short for Virtual Memory Stream. See AbVMStrm.pas.

Almost as if it didn’t need to create that swap file, but another area thinks it had to?

Compile error PAnsiChar Pointer Delphi 10.2

Using Delphi 10.2 Tokyo, with the latest commit of Abbrevia, I got an error when compiling in AbCharset.pas and AbZipTyp.pas for Win32, during building the package "AbbreviaD240.bpl"

[dcc32 Error] AbCharset.pas(263): E2010 Incompatible types: 'PAnsiChar' and 'Pointer'
[dcc32 Error] AbZipTyp.pas(1494): E2010 Incompatible types: 'PAnsiChar' and 'Pointer'

At those lines, we find:
OemToCharBuff(@avalue[0], PChar(Result), Length(Result));
OemToCharBuff(@(pBuffer[0]), PChar(FFileName), Length(FFileName));

Both lines were changed in 58e9ff4

I can compile if I revert the changes to those lines from the mentioned commit, but there's probably something I'm missing - anyone got a hint?

Update BZIP2 obj files to v1.0.8

Looks like abbrevia still using old BZIP2 obj files from v1.0.5 while a new version (1.0.8) has already come out in 2019.
Need to update this one.

ZIP + password

How to open a password-protected *.xlsx?

var
  Li: integer;
  Lu: TAbUnZipper;
begin
  Lu := TAbUnZipper.Create(nil);

  try
    Lu.ArchiveType := atZip;
    Lu.ForceType := true;
    Lu.FileName := FFile;
    Lu.Password := FPass;

    for Li := 0 to Lu.Count - 1 do Memo1.Lines.Add(Lu.Items[Li].FileName);

  finally
    Lu.Free;
  end;
end;

Without a password the file opens ok:
image

... but with a password it crashes with an error :(
image

Project1.zip

Error creating new cab using TAbCabArchive

When creating a new cab file with TAbCabArchive a EAbFCIAddFileError is thrown with message "FCI cannot add file". This is due to FCICreate not having been called. Here is simple code to reproduce the issue:

fn := 'somefile.cab'; // use whatever filename you want
cab := TAbCabArchive.Create(fn, fmCreate);
cab.AddFiles('*.*', faAnyFile);  // add whatever files you want (exception here)
cab.Save;

To workaround the issue I can add a call to Load which will make a call to FCICreate but this deviates from how other archives are created (such as TAbGzipArchive).

fn := 'somefile.cab';
cab := TAbCabArchive.Create(fn, fmCreate);
cab.Load; // forces call to FCICreate
cab.AddFiles('*.*', faAnyFile);
cab.Save;

The component does not work on Android in Delphi 11

Hello.

I've installed the component without any problem. I've used the packages AbbreviaD.bpl and AbbreviaFMXDDesign.bpl located in the Alexandria folder.

The component is installed ok in the ID.

The problem is I Can't use in Android.

It's easy to reproduce: put a TAbZipper in a form. Compile with Android Platform target selected...

I have 67 compiler errors (see the attached files)

compilermessages.txt

Some of the errors are very strange to me. For example, the first error: "[DCC Error] AbUtils.pas(1079): E2023 Function needs result type" refenced the followin line in AbUtils.pas:

function AbDateTimeToDosFileDate(Value : TDateTime) : Integer;

What?. The function already has a result type (integer).

Could you help me please?

Compress Stream to Stream

Hello, I would like to know if there is any example to compress stream to stream.
Ex:
I have a DataSet that I transform into a Stream, and I would like to compress the stream to another stream.
Today I use zlib to do the compression, but I'm looking for alternatives.
Thanks.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.