Browse Source

Update zgl_lib_zip.pas

Seenkao 2 years ago
parent
commit
123b828d97
1 changed files with 16 additions and 10 deletions
  1. 16 10
      Zengl_SRC/src/zgl_lib_zip.pas

+ 16 - 10
Zengl_SRC/src/zgl_lib_zip.pas

@@ -53,7 +53,7 @@
 // modification by Serg
 // modification by Serg
 }
 }
 unit zgl_lib_zip;
 unit zgl_lib_zip;
-{$IfNDef FPC}
+{$IfDef FPC}
 {$mode delphi}
 {$mode delphi}
 {$EndIf}
 {$EndIf}
 {$I zgl_config.cfg}
 {$I zgl_config.cfg}
@@ -65,8 +65,10 @@ unit zgl_lib_zip;
   {$L libzip}
   {$L libzip}
   {$EndIf}
   {$EndIf}
 {$EndIf}
 {$EndIf}
-
 {$ENDIF}
 {$ENDIF}
+{$IfNDef FPC}
+{$L zlib_helper}
+{$EndIf}
 
 
   {$IfDef WINDOWS}
   {$IfDef WINDOWS}
   {$IFDEF USE_ZLIB_FULL}
   {$IFDEF USE_ZLIB_FULL}
@@ -257,14 +259,14 @@ function deflateInit2_ : Integer; cdecl;
 {$IfEnd}
 {$IfEnd}
 {$ENDIF}
 {$ENDIF}
 
 
-procedure zlib_Init(out strm: z_stream_s ); cdecl;
-procedure zlib_Free(var strm: z_stream_s ); cdecl;
+procedure zlib_Init(out strm: z_stream_s ); cdecl; {$IfNDef FPC}external;{$EndIf}
+procedure zlib_Free(var strm: z_stream_s ); cdecl; {$IfNDef FPC}external;{$EndIf}
 function png_DecodeIDAT( var pngMem: zglTMemory; var pngZStream: z_stream_s; out pngIDATEnd: LongWord; Buffer: Pointer;
 function png_DecodeIDAT( var pngMem: zglTMemory; var pngZStream: z_stream_s; out pngIDATEnd: LongWord; Buffer: Pointer;
-     Bytes: Integer): Integer; cdecl;
-{/$IfDef CEGCC}
+     Bytes: Integer): Integer; cdecl; {$IfNDef FPC}external;{$EndIf}
+{$IfDef FPC}
 function udimodsi4(num, den: LongWord; modwanted: Integer): LongWord; cdecl;
 function udimodsi4(num, den: LongWord; modwanted: Integer): LongWord; cdecl;
 function __umodsi3(a, b: clong): clong; cdecl;
 function __umodsi3(a, b: clong): clong; cdecl;
-{/$EndIf}
+{$EndIf}
 
 
 {$If Not (defined (ANDROID) and defined(NOT_OLD_ARM))}
 {$If Not (defined (ANDROID) and defined(NOT_OLD_ARM))}
 function inflateInit_(var strm: z_stream_s; version: pchar; stream_size: cint): cint; cdecl; external
 function inflateInit_(var strm: z_stream_s; version: pchar; stream_size: cint): cint; cdecl; external
@@ -404,6 +406,10 @@ end;
 {$ENDIF}
 {$ENDIF}
 {$ENDIF}
 {$ENDIF}
 
 
+{$IfDef FPC}
+// данный код работает в Delphi 7, но не хочет работать в Delphi XE.
+// Может быть... когда нибудь... если кто-то сподобится собрать 64-х битные объектные файлы для Delphi XE,
+// я может соберусь это всё сделать рабочим для Delphi XE.
 procedure zlib_Init( out strm : z_stream_s );
 procedure zlib_Init( out strm : z_stream_s );
 begin
 begin
   FillChar(strm, sizeof(strm), 0);
   FillChar(strm, sizeof(strm), 0);
@@ -418,7 +424,7 @@ end;
 function png_DecodeIDAT(var pngMem: zglTMemory; var pngZStream: z_stream_s; out pngIDATEnd: LongWord; Buffer: Pointer;
 function png_DecodeIDAT(var pngMem: zglTMemory; var pngZStream: z_stream_s; out pngIDATEnd: LongWord; Buffer: Pointer;
      Bytes: Integer): Integer;
      Bytes: Integer): Integer;
 var
 var
-  b: {$IfDef USE_INLINE}PByte{$Else}array[0..3] of Byte{$EndIf};
+  b: {$IfDef FPC}PByte{$Else}array[0..3] of Byte{$EndIf};
   IDATHeader: PChar;
   IDATHeader: PChar;
 begin
 begin
   pngZStream.next_out := Buffer;
   pngZStream.next_out := Buffer;
@@ -428,7 +434,7 @@ begin
     if ((pngMem.Position = pngIDATEnd) and (pngZStream.avail_out > 0) and (pngZStream.avail_in = 0)) then
     if ((pngMem.Position = pngIDATEnd) and (pngZStream.avail_out > 0) and (pngZStream.avail_in = 0)) then
     begin
     begin
       inc(pngMem.Position, 4);
       inc(pngMem.Position, 4);
-      {$IfDef USE_INLINE}
+      {$IfDef FPC}
       b := PByte(Ptr(pngMem.Memory) + pngMem.Position);
       b := PByte(Ptr(pngMem.Memory) + pngMem.Position);
       pngIDATEnd := b[3] + (b[2] shl 8) + (b[1] shl 16) + (b[0] shl 24);
       pngIDATEnd := b[3] + (b[2] shl 8) + (b[1] shl 16) + (b[0] shl 24);
       inc(pngMem.Position, 4);
       inc(pngMem.Position, 4);
@@ -515,7 +521,7 @@ function __umodsi3(a, b: clong): clong;
 begin
 begin
   Result := udimodsi4(a, b, 1);
   Result := udimodsi4(a, b, 1);
 end;
 end;
-{.$EndIf}
+{$EndIf}
 
 
 {$IfDef USE_ZIP}{$IfDef MAC_COCOA}
 {$IfDef USE_ZIP}{$IfDef MAC_COCOA}
 initialization
 initialization