You've already forked lazarus-ccr
fpexif: Fix compilation with Delphi
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8995 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -7,7 +7,7 @@
|
|||||||
<TargetedPlatforms>3</TargetedPlatforms>
|
<TargetedPlatforms>3</TargetedPlatforms>
|
||||||
<AppType>Application</AppType>
|
<AppType>Application</AppType>
|
||||||
<FrameworkType>VCL</FrameworkType>
|
<FrameworkType>VCL</FrameworkType>
|
||||||
<ProjectVersion>18.8</ProjectVersion>
|
<ProjectVersion>19.5</ProjectVersion>
|
||||||
<Platform Condition="'$(Platform)'==''">Win32</Platform>
|
<Platform Condition="'$(Platform)'==''">Win32</Platform>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
|
<PropertyGroup Condition="'$(Config)'=='Base' or '$(Base)'!=''">
|
||||||
@ -134,13 +134,9 @@
|
|||||||
<DelphiCompile Include="$(MainSource)">
|
<DelphiCompile Include="$(MainSource)">
|
||||||
<MainSource>MainSource</MainSource>
|
<MainSource>MainSource</MainSource>
|
||||||
</DelphiCompile>
|
</DelphiCompile>
|
||||||
<DCCReference Include="mdvmain.pas">
|
<DCCReference Include="mdvMain.pas">
|
||||||
<Form>Form1</Form>
|
<Form>Form1</Form>
|
||||||
</DCCReference>
|
</DCCReference>
|
||||||
<BuildConfiguration Include="Debug">
|
|
||||||
<Key>Cfg_2</Key>
|
|
||||||
<CfgParent>Base</CfgParent>
|
|
||||||
</BuildConfiguration>
|
|
||||||
<BuildConfiguration Include="Base">
|
<BuildConfiguration Include="Base">
|
||||||
<Key>Base</Key>
|
<Key>Base</Key>
|
||||||
</BuildConfiguration>
|
</BuildConfiguration>
|
||||||
@ -148,6 +144,10 @@
|
|||||||
<Key>Cfg_1</Key>
|
<Key>Cfg_1</Key>
|
||||||
<CfgParent>Base</CfgParent>
|
<CfgParent>Base</CfgParent>
|
||||||
</BuildConfiguration>
|
</BuildConfiguration>
|
||||||
|
<BuildConfiguration Include="Debug">
|
||||||
|
<Key>Cfg_2</Key>
|
||||||
|
<CfgParent>Base</CfgParent>
|
||||||
|
</BuildConfiguration>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ProjectExtensions>
|
<ProjectExtensions>
|
||||||
<Borland.Personality>Delphi.Personality.12</Borland.Personality>
|
<Borland.Personality>Delphi.Personality.12</Borland.Personality>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
unit fpeExifData;
|
unit fpeExifData;
|
||||||
|
|
||||||
{$IFDEF FPC}
|
{$IFDEF FPC}
|
||||||
//{$mode objfpc}{$H+}
|
//{$mode objfpc}{$H+}
|
||||||
@ -1519,7 +1519,7 @@ end;
|
|||||||
|
|
||||||
procedure TGPSPositionTag.SetAsFloat(const AValue: Double);
|
procedure TGPSPositionTag.SetAsFloat(const AValue: Double);
|
||||||
var
|
var
|
||||||
arr: TExifDoubleArray = nil;
|
arr: TExifDoubleArray{$IFDEF FPC} = nil{$ENDIF};
|
||||||
begin
|
begin
|
||||||
SetLength(arr, 3);
|
SetLength(arr, 3);
|
||||||
SplitGps(AValue, arr[0], arr[1], arr[2]);
|
SplitGps(AValue, arr[0], arr[1], arr[2]);
|
||||||
@ -1758,8 +1758,8 @@ end;
|
|||||||
|
|
||||||
function TUserCommentTag.GetAsString: String;
|
function TUserCommentTag.GetAsString: String;
|
||||||
var
|
var
|
||||||
sw: WideString = '';
|
sw: WideString{$IFDEF FPC} = ''{$ENDIF};
|
||||||
sa: AnsiString = '';
|
sa: AnsiString{$IFDEF FPC} = ''{$ENDIF};
|
||||||
begin
|
begin
|
||||||
Result := '';
|
Result := '';
|
||||||
|
|
||||||
@ -1851,7 +1851,7 @@ end;
|
|||||||
|
|
||||||
function TXPTag.GetAsString: String;
|
function TXPTag.GetAsString: String;
|
||||||
var
|
var
|
||||||
ws: WideString = '';
|
ws: WideString{$IFDEF FPC} = ''{$ENDIF};
|
||||||
begin
|
begin
|
||||||
SetLength(ws, Length(FRawData) div SizeOf(WideChar));
|
SetLength(ws, Length(FRawData) div SizeOf(WideChar));
|
||||||
Move(FRawData[0], ws[1], Length(FRawData));
|
Move(FRawData[0], ws[1], Length(FRawData));
|
||||||
|
@ -8,8 +8,9 @@ unit fpeExifReadWrite;
|
|||||||
|
|
||||||
{$IFDEF FPC}
|
{$IFDEF FPC}
|
||||||
{$MODE Delphi}
|
{$MODE Delphi}
|
||||||
|
{$WARN 6058 off : Call to subroutine "$1" marked as inline is not inlined}
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
{$WARN 6058 off : Call to subroutine "$1" marked as inline is not inlined}
|
|
||||||
{$INCLUDE fpexif.inc}
|
{$INCLUDE fpexif.inc}
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
@ -121,7 +121,7 @@ var
|
|||||||
len: DWord;
|
len: DWord;
|
||||||
tagdef: TTagDef;
|
tagdef: TTagDef;
|
||||||
tagID: TTagID;
|
tagID: TTagID;
|
||||||
s: String = '';
|
s: String{$IFDEF FPC} = ''{$ENDIF};
|
||||||
w: Word;
|
w: Word;
|
||||||
{$IFNDEF FPC}
|
{$IFNDEF FPC}
|
||||||
sa: ansistring;
|
sa: ansistring;
|
||||||
@ -247,7 +247,7 @@ procedure TIptcReader.ReadImageResourceBlock(AStream: TStream;
|
|||||||
out AID: Word; out AName: String; out AData: TBytes);
|
out AID: Word; out AName: String; out AData: TBytes);
|
||||||
var
|
var
|
||||||
len: Byte;
|
len: Byte;
|
||||||
s: Ansistring = '';
|
s: Ansistring{$IFDEF FPC} = ''{$ENDIF};
|
||||||
lSize: DWord;
|
lSize: DWord;
|
||||||
begin
|
begin
|
||||||
AID := BEtoN(ReadWord(AStream));
|
AID := BEtoN(ReadWord(AStream));
|
||||||
@ -328,10 +328,10 @@ end;
|
|||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
function TIptcWriter.SplitMultiStringTag(ATag: TTag): TStringArray;
|
function TIptcWriter.SplitMultiStringTag(ATag: TTag): TStringArray;
|
||||||
var
|
var
|
||||||
s: String;
|
s: AnsiString;
|
||||||
begin
|
begin
|
||||||
s := PChar(ATag.RawData);
|
s := StrPas(PAnsiChar(ATag.RawData));
|
||||||
Result := s.Split(IPTC_MULTI_TAG_SEPARATOR);
|
Result := Split(s, IPTC_MULTI_TAG_SEPARATOR);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
@ -122,7 +122,7 @@ function TCanonMakerNoteReader.AddTag(AStream: TStream;
|
|||||||
const AIFDRecord: TIFDRecord; const AData: TBytes; AParent: TTagID): Integer;
|
const AIFDRecord: TIFDRecord; const AData: TBytes; AParent: TTagID): Integer;
|
||||||
var
|
var
|
||||||
tagDef: TTagDef;
|
tagDef: TTagDef;
|
||||||
w: array of Word = nil;
|
w: array of Word{$IFDEF FPC} = nil{$ENDIF};
|
||||||
n,i: Integer;
|
n,i: Integer;
|
||||||
t: TTagID;
|
t: TTagID;
|
||||||
begin
|
begin
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
unit fpeMakerNoteMinolta;
|
unit fpeMakerNoteMinolta;
|
||||||
|
|
||||||
{$IFDEF FPC}
|
{$IFDEF FPC}
|
||||||
//{$mode objfpc}{$H+}
|
//{$mode objfpc}{$H+}
|
||||||
@ -133,7 +133,7 @@ function TMinoltaMakerNoteReader.AddTag(AStream: TStream;
|
|||||||
const AIFDRecord: TIFDRecord; const AData: TBytes; AParent: TTagID): Integer;
|
const AIFDRecord: TIFDRecord; const AData: TBytes; AParent: TTagID): Integer;
|
||||||
var
|
var
|
||||||
tagDef: TTagDef;
|
tagDef: TTagDef;
|
||||||
v: array of DWord = nil;
|
v: array of DWord{$IFDEF FPC} = nil{$ENDIF};
|
||||||
n, i: Integer;
|
n, i: Integer;
|
||||||
t: TTagID;
|
t: TTagID;
|
||||||
d: Integer;
|
d: Integer;
|
||||||
|
@ -339,8 +339,8 @@ end;
|
|||||||
|
|
||||||
procedure TNikonMakerNoteReader.GetTagDefs(AStream: TStream);
|
procedure TNikonMakerNoteReader.GetTagDefs(AStream: TStream);
|
||||||
var
|
var
|
||||||
b: TBytes = nil; //array of byte;
|
b: TBytes{$IFDEF FPC} = nil{$ENDIF};
|
||||||
tmp: String = '';
|
tmp: String{$IFDEF FPC} = ''{$ENDIF};
|
||||||
tmp2: String;
|
tmp2: String;
|
||||||
p: Integer;
|
p: Integer;
|
||||||
streamPos: Int64;
|
streamPos: Int64;
|
||||||
@ -376,7 +376,7 @@ end;
|
|||||||
|
|
||||||
function TNikonMakerNoteReader.Prepare(AStream: TStream): Boolean;
|
function TNikonMakerNoteReader.Prepare(AStream: TStream): Boolean;
|
||||||
var
|
var
|
||||||
b: TBytes = nil;
|
b: TBytes{$IFDEF FPC} = nil{$ENDIF};
|
||||||
UCMake: String;
|
UCMake: String;
|
||||||
dw: DWord;
|
dw: DWord;
|
||||||
begin
|
begin
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
unit fpeMakerNoteOlympus;
|
unit fpeMakerNoteOlympus;
|
||||||
|
|
||||||
{$IFDEF FPC}
|
{$IFDEF FPC}
|
||||||
{$MODE DELPHI}
|
{$MODE DELPHI}
|
||||||
@ -458,7 +458,7 @@ const
|
|||||||
SIGNATURE_V3I = 'OLYMPUS'#00'II'#03#00;
|
SIGNATURE_V3I = 'OLYMPUS'#00'II'#03#00;
|
||||||
SIGNATURE_V3M = 'OLYMPUS'#00'MM'#03#00;
|
SIGNATURE_V3M = 'OLYMPUS'#00'MM'#03#00;
|
||||||
var
|
var
|
||||||
hdr: TBytes = nil; //array of byte;
|
hdr: TBytes{$IFDEF FPC} = nil{$ENDIF};
|
||||||
p: Int64;
|
p: Int64;
|
||||||
begin
|
begin
|
||||||
p := AStream.Position;
|
p := AStream.Position;
|
||||||
|
@ -14,7 +14,10 @@ uses
|
|||||||
LazUTF8,
|
LazUTF8,
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
fpeGlobal,
|
fpeGlobal,
|
||||||
fpeExifData, fpeIptcData, fpeXmpData;
|
{$IFDEF FPC}
|
||||||
|
fpeXmpData,
|
||||||
|
{$ENDIF}
|
||||||
|
fpeExifData, fpeIptcData;
|
||||||
|
|
||||||
type
|
type
|
||||||
TImgInfo = class;
|
TImgInfo = class;
|
||||||
@ -64,7 +67,9 @@ type
|
|||||||
private
|
private
|
||||||
FExifData: TExifData;
|
FExifData: TExifData;
|
||||||
FIptcData: TIptcData;
|
FIptcData: TIptcData;
|
||||||
|
{$IFDEF FPC}
|
||||||
FXmpData: TXmpData;
|
FXmpData: TXmpData;
|
||||||
|
{$ENDIF}
|
||||||
function GetComment: String;
|
function GetComment: String;
|
||||||
function GetWarnings: String;
|
function GetWarnings: String;
|
||||||
procedure SetComment(const AValue: String);
|
procedure SetComment(const AValue: String);
|
||||||
@ -87,14 +92,18 @@ type
|
|||||||
|
|
||||||
function CreateExifData(ABigEndian: Boolean = false): TExifData;
|
function CreateExifData(ABigEndian: Boolean = false): TExifData;
|
||||||
function CreateIptcData: TIptcData;
|
function CreateIptcData: TIptcData;
|
||||||
|
{$IFDEF FPC}
|
||||||
function CreateXmpData: TXmpData;
|
function CreateXmpData: TXmpData;
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
function HasComment: Boolean;
|
function HasComment: Boolean;
|
||||||
function HasExif: Boolean;
|
function HasExif: Boolean;
|
||||||
function HasIptc: Boolean;
|
function HasIptc: Boolean;
|
||||||
function HasThumbnail: Boolean;
|
function HasThumbnail: Boolean;
|
||||||
function HasWarnings: boolean;
|
function HasWarnings: boolean;
|
||||||
|
{$IFDEF FPC}
|
||||||
function HasXMP: Boolean;
|
function HasXMP: Boolean;
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
{ Comment stored in the Jpeg COM segment }
|
{ Comment stored in the Jpeg COM segment }
|
||||||
property Comment: String read GetComment write SetComment;
|
property Comment: String read GetComment write SetComment;
|
||||||
@ -119,7 +128,9 @@ type
|
|||||||
|
|
||||||
property ExifData: TExifData read FExifData;
|
property ExifData: TExifData read FExifData;
|
||||||
property IptcData: TIptcData read FIptcData;
|
property IptcData: TIptcData read FIptcData;
|
||||||
|
{$IFDEF FPC}
|
||||||
property XmpData: TXmpData read FXmpData;
|
property XmpData: TXmpData read FXmpData;
|
||||||
|
{$ENDIF}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
@ -127,7 +138,8 @@ implementation
|
|||||||
|
|
||||||
uses
|
uses
|
||||||
Variants,
|
Variants,
|
||||||
fpeStrConsts, fpeUtils, fpeExifReadWrite, fpeXMPReadWrite, fpeIptcReadWrite;
|
fpeStrConsts, fpeUtils, fpeExifReadWrite, {$IFDEF FPC}fpeXMPReadWrite,{$ENDIF}
|
||||||
|
fpeIptcReadWrite;
|
||||||
|
|
||||||
type
|
type
|
||||||
TJpegJFIFSegment = packed record
|
TJpegJFIFSegment = packed record
|
||||||
@ -264,7 +276,9 @@ begin
|
|||||||
FWarnings.Free;
|
FWarnings.Free;
|
||||||
FExifData.Free;
|
FExifData.Free;
|
||||||
FIptcData.Free;
|
FIptcData.Free;
|
||||||
|
{$IFDEF FPC}
|
||||||
FXmpData.Free;
|
FXmpData.Free;
|
||||||
|
{$ENDIF}
|
||||||
inherited;
|
inherited;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -284,6 +298,7 @@ begin
|
|||||||
Result := FIptcData;
|
Result := FIptcData;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
{$IFDEF FPC}
|
||||||
function TImgInfo.CreateXmpData: TXmpData;
|
function TImgInfo.CreateXmpData: TXmpData;
|
||||||
begin
|
begin
|
||||||
FWarnings.Clear;
|
FWarnings.Clear;
|
||||||
@ -291,6 +306,7 @@ begin
|
|||||||
FXmpData := TXmpData.Create;
|
FXmpData := TXmpData.Create;
|
||||||
Result := FXmpData;
|
Result := FXmpData;
|
||||||
end;
|
end;
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
procedure TImgInfo.Error(const AMsg: String);
|
procedure TImgInfo.Error(const AMsg: String);
|
||||||
begin
|
begin
|
||||||
@ -365,10 +381,12 @@ begin
|
|||||||
Result := FWarnings.Count > 0;
|
Result := FWarnings.Count > 0;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
{$IFDEF FPC}
|
||||||
function TImgInfo.HasXMP: Boolean;
|
function TImgInfo.HasXMP: Boolean;
|
||||||
begin
|
begin
|
||||||
Result := FXmpData <> nil;
|
Result := FXmpData <> nil;
|
||||||
end;
|
end;
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
procedure TImgInfo.LoadFromFile(const AFileName: String);
|
procedure TImgInfo.LoadFromFile(const AFileName: String);
|
||||||
var
|
var
|
||||||
@ -522,8 +540,8 @@ var
|
|||||||
p: Int64;
|
p: Int64;
|
||||||
reader: TBasicMetadataReader;
|
reader: TBasicMetadataReader;
|
||||||
bigEndian: Boolean;
|
bigEndian: Boolean;
|
||||||
buf: TBytes = nil;
|
buf: TBytes{$IFDEF FPC} = nil{$ENDIF};
|
||||||
hdr: TBytes = nil;
|
hdr: TBytes{$IFDEF FPC} = nil{$ENDIF};
|
||||||
hasJFIF: Boolean;
|
hasJFIF: Boolean;
|
||||||
{$IFNDEF FPC}
|
{$IFNDEF FPC}
|
||||||
sa: ansistring;
|
sa: ansistring;
|
||||||
@ -570,6 +588,7 @@ begin
|
|||||||
finally
|
finally
|
||||||
reader.Free;
|
reader.Free;
|
||||||
end;
|
end;
|
||||||
|
{$IFDEF FPC}
|
||||||
end else
|
end else
|
||||||
if HasXMPHeader(AStream) and (mdkXMP in FMetadataKinds) then
|
if HasXMPHeader(AStream) and (mdkXMP in FMetadataKinds) then
|
||||||
begin
|
begin
|
||||||
@ -583,6 +602,7 @@ begin
|
|||||||
raise EFpExifReader.Create('Error reading XMP data: ' + E.Message);
|
raise EFpExifReader.Create('Error reading XMP data: ' + E.Message);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
{$ENDIF}
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
M_IPTC:
|
M_IPTC:
|
||||||
@ -821,7 +841,8 @@ begin
|
|||||||
writer.Free;
|
writer.Free;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
{$IFDEF FPC}
|
||||||
// XMP --> Write another APP1 segment
|
// XMP --> Write another APP1 segment
|
||||||
if (mdkXMP in FMetadataKinds) and HasXMP then
|
if (mdkXMP in FMetadataKinds) and HasXMP then
|
||||||
begin
|
begin
|
||||||
@ -832,6 +853,7 @@ begin
|
|||||||
writer.Free;
|
writer.Free;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
// Write IPTCSegment (APP13)
|
// Write IPTCSegment (APP13)
|
||||||
if (mdkIPTC in FMetadataKinds) and HasIPTC then begin
|
if (mdkIPTC in FMetadataKinds) and HasIPTC then begin
|
||||||
|
@ -922,8 +922,8 @@ var
|
|||||||
intVal: Integer;
|
intVal: Integer;
|
||||||
i: Integer;
|
i: Integer;
|
||||||
s: String;
|
s: String;
|
||||||
fmtStr: TStringArray = nil;
|
fmtStr: TStringArray{$IFDEF FPC} = nil{$ENDIF};
|
||||||
lkup: TStringArray = nil;
|
lkup: TStringArray{$IFDEF FPC} = nil{$ENDIF};
|
||||||
len: Integer;
|
len: Integer;
|
||||||
begin
|
begin
|
||||||
Result := '';
|
Result := '';
|
||||||
@ -1044,7 +1044,7 @@ procedure TIntegerTag.SetAsString(const AValue: String);
|
|||||||
var
|
var
|
||||||
i, j, n: Integer;
|
i, j, n: Integer;
|
||||||
s: String;
|
s: String;
|
||||||
intArr: TExifIntegerArray = nil;
|
intArr: TExifIntegerArray{$IFDEF FPC} = nil{$ENDIF};
|
||||||
begin
|
begin
|
||||||
if AValue = '' then begin
|
if AValue = '' then begin
|
||||||
SetLength(FRawData, 0);
|
SetLength(FRawData, 0);
|
||||||
@ -1227,7 +1227,7 @@ var
|
|||||||
i: Integer;
|
i: Integer;
|
||||||
s: String;
|
s: String;
|
||||||
fval: Double;
|
fval: Double;
|
||||||
fmtStr: TStringArray = nil;
|
fmtStr: TStringArray{$IFDEF FPC} = nil{$ENDIF};
|
||||||
begin
|
begin
|
||||||
{ Extract format string for each value. A simple format string is applied to
|
{ Extract format string for each value. A simple format string is applied to
|
||||||
all values. Inidividual format strings can be separated by '|'. }
|
all values. Inidividual format strings can be separated by '|'. }
|
||||||
@ -1438,7 +1438,7 @@ procedure TFloatTag.SetAsString(const AValue: String);
|
|||||||
var
|
var
|
||||||
i, j, n: Integer;
|
i, j, n: Integer;
|
||||||
s: String;
|
s: String;
|
||||||
floatArr: TExifDoubleArray = nil;
|
floatArr: TExifDoubleArray{$IFDEF FPC} = nil{$ENDIF};
|
||||||
begin
|
begin
|
||||||
if AValue = '' then begin
|
if AValue = '' then begin
|
||||||
SetLength(FRawData, 0);
|
SetLength(FRawData, 0);
|
||||||
@ -1498,7 +1498,7 @@ end;
|
|||||||
|
|
||||||
function TStringTag.GetAsString: String;
|
function TStringTag.GetAsString: String;
|
||||||
var
|
var
|
||||||
sa: ansistring = '';
|
sa: ansistring{$IFDEF FPC} = ''{$ENDIF};
|
||||||
begin
|
begin
|
||||||
// FIXME: The next lines assume that FValue stores a string as ansistring
|
// FIXME: The next lines assume that FValue stores a string as ansistring
|
||||||
// which is true only for Exif, probably not for IPTC and XMP.
|
// which is true only for Exif, probably not for IPTC and XMP.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
unit fpeUtils;
|
unit fpeUtils;
|
||||||
|
|
||||||
{$IFDEF FPC}
|
{$IFDEF FPC}
|
||||||
{$mode ObjFPC}{$H+}
|
{$mode ObjFPC}{$H+}
|
||||||
@ -39,7 +39,7 @@ type
|
|||||||
property Items[AIndex: Integer]: Int64 read GetItem write SetItem; default;
|
property Items[AIndex: Integer]: Int64 read GetItem write SetItem; default;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
TStringArray = array of string;
|
TStringArray = array of ansistring;
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
// Big endian/little endian utilities
|
// Big endian/little endian utilities
|
||||||
@ -498,7 +498,7 @@ var
|
|||||||
mins, secs: Double;
|
mins, secs: Double;
|
||||||
i, j, len: Integer;
|
i, j, len: Integer;
|
||||||
n: Integer;
|
n: Integer;
|
||||||
s: String = '';
|
s: String{$IFDEF FPC} = ''{$ENDIF};
|
||||||
res: Integer;
|
res: Integer;
|
||||||
begin
|
begin
|
||||||
Result := false;
|
Result := false;
|
||||||
|
@ -10,7 +10,9 @@
|
|||||||
|
|
||||||
unit fpeXMPData;
|
unit fpeXMPData;
|
||||||
|
|
||||||
|
{$IFDEF FPC}
|
||||||
{$mode objfpc}{$H+}
|
{$mode objfpc}{$H+}
|
||||||
|
{$ENDIF}
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user