diff --git a/components/fpexif/examples/metadata_viewer/mdvmain.lfm b/components/fpexif/examples/metadata_viewer/mdvmain.lfm index a8e57b6b8..d67fbbeaf 100644 --- a/components/fpexif/examples/metadata_viewer/mdvmain.lfm +++ b/components/fpexif/examples/metadata_viewer/mdvmain.lfm @@ -366,103 +366,28 @@ object MainForm: TMainForm left = 89 top = 118 Bitmap = { - 4C690300000010000000100000000000000000000000D49A5B65E7BC8EB3E7BD - 90B5E7BD90B5E7BD90B5E7BD90B5E7BD90B5E7BD90B5E7BD90B5E7BD90B5E7BC - 8EB3DCA06466000000000000000000000000BF804008EFCDA7EEFEF0DFFFFEF0 - DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0 - DFFFF3D4B1F2BF8040080000000000000000CD8C4B33F9E0C4F8FEF0DFFFFEF0 - DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0 - DFFFFBE4CAFCD298563E0000000000000000D3985A6FFDEAD3FFFEF0DFFFFEF0 - DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0 - DFFFFEECD7FFD9A269810000000000000000DDAD77A7FEF0DEFFFEF0DFFFFEF0 - DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0 - DFFFFEF0DFFFE3B583AF0000000000000000E6BC90C5FEF0DFFFFEF0DFFFFEF0 - DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0 - DFFFFEF0DFFFECC49ACA0000000000000000EFCAA4DAFEF0DFFFFEF0DFFFFEF0 - DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0 - DFFFFEF0DFFFF1D0ACE00000000000000000F3D5B3ECFEF0DFFFFEF0DFFFFEF0 - DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0 - DFFFFEF0DFFFF5D9BAF1BF804004C98B4D21FAE0C4F7FEF0DFFFFEF0DFFFFEF0 - DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0 - DFFFFEF0DFFFFBE4CAFBD6965B38D5995D66FDE9D2FFFEF0DFFFFEF0DFFFFEF0 - DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0 - DFFFFEF0DFFFFEECD7FFDAA2687BE1AE7B9BFEEFDEFFFEF0DFFFFEF0DFFFFEF0 - DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0 - DFFFFEF0DFFFFEF0DFFFE2B585A9DDA56B9FFDD5AAFFFDD5AAFFFDD5AAFFFDD5 - AAFFFDD5AAFFFDD5AAFFFDD5AAFFFDD5AAFFFDD5AAFFFDD5AAFFFDD5AAFFFDD5 - AAFFFDD5AAFFFDD5AAFFDEAA71A2DBA2659CFDCC98FFE4AC72FFF0BC85FFF0BC - 85FFE4AC72FFF5C18BFFE8B178FFE8B178FFF5C18BFFE4AC72FFFDCC98FFFDD3 - A6FFFEDFBFFFFDCC98FFDDA468A6DBA2659CFDCC98FFCA8C4CFFCF9353FFCF93 - 53FFCA8C4CFFD19556FFCC8E4EFFCC8E4EFFD19556FFCD8F50FFFDCC98FFFEE0 - C0FFFFF6EDFFFDCC98FFDDA468A6D99F6292FDCC98FFFDCC98FFFDCC98FFFDCC - 98FFFDCC98FFFDCC98FFFDCC98FFFDCC98FFFDCC98FFFDCC98FFFDCC98FFFDCC - 98FFFDCC98FFFDCC98FFDAA06497C8894900D99F6094DBA2659CDBA2659CDBA2 - 659CDBA2659CDBA2659CDBA2659CDBA2659CDBA2659CDBA2659CDBA2659CDBA2 - 659CDBA2659CDAA06497C8894900000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000D59D624ED69F6788D69F6788D69F6788D69F - 647DBF8040040000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000DBA7719CFEDCB6FFFEDCB6FFFEDCB6FFFCD8 - B1F7DCA670B4C6864770C6864770C6864770C6864770C6864770C6864770C686 - 4770C6864770C6864770C486454AD9A56EBAE9C093FFE9C093FFE9C093FFE9BE - 91FFE4BA8FFFF0D6B9FFF0D6B9FFF0D6B9FFF0D6B9FFF0D6B9FFF0D6B9FFF0D6 - B9FFF0D6B9FFF0D6B9FFD9A976E3DCAE7DD8FEF0DFFFFEF0DFFFFEF0DFFFFEF0 - DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0 - DFFFFEF0DFFFFEF0DFFFDEB083E0DCAE7DD8FEF0DFFFFEF0DFFFFEF0DFFFFEF0 - DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0 - DFFFFEF0DFFFFEF0DFFFDEB083E0DCAE7DD8FEF0DFFFFEF0DFFFFEF0DFFFFEF0 - DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0 - DFFFFEF0DFFFFEF0DFFFDEB083E0DCAE7DD8FEF0DFFFFEF0DFFFFEF0DFFFFEF0 - DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0 - DFFFFEF0DFFFFEF0DFFFDEB083E0DCAE7DD8FEF0DFFFFEF0DFFFFEF0DFFFFEF0 - DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0 - DFFFFEF0DFFFFEF0DFFFDEB083E0DCAE7DD8FEF0DFFFFEF0DFFFFEF0DFFFFEF0 - DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0 - DFFFFEF0DFFFFEF0DFFFDEB083E0DCAE7DD8FEF0DFFFFEF0DFFFFEF0DFFFFEF0 - DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0 - DFFFFEF0DFFFFEF0DFFFDEB083E0DCAE7DD8FEF0DFFFFEF0DFFFFEF0DFFFFEF0 - DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0 - DFFFFEF0DFFFFEF0DFFFDEB083E0DCAE7DD8FEF0DFFFFEF0DFFFFEF0DFFFFEF0 - DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0 - DFFFFEF0DFFFFEF0DFFFDEB083E0DCAE7DD8FEF0DFFFFEF0DFFFFEF0DFFFFEF0 - DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0 - DFFFFEF0DFFFFEF0DFFFDEB083E0D59E6684D7A56FC7D7A56FC7D7A56FC7D7A5 - 6FC7D7A56FC7D7A56FC7D7A56FC7D7A56FC7D7A56FC7D7A56FC7D7A56FC7D7A5 - 6FC7D7A56FC7D7A56FC7D59E6684000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000D59D624ED69F6788D69F6788D69F6788D69F - 647DBF8040040000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000DBA7719CF9D4ACFFF0C79AFFF0C79AFFEFC4 - 96F9D59D63C6C6864770C6864770C6864770C6864770C6864770C6864770C686 - 4770C6864770C88B482E00000000DBA7719CE9C195FFF1E1D1FFF1E1D1FFF1E1 - D1FFF1E1D1FFF1E1D1FFF1E1D1FFF1E1D1FFF1E1D1FFF1E1D1FFF1E1D1FFF1E1 - D1FFF1E1D1FFD7A876C700000000DBA7719CE9C195FFFFFFFFFFFFFFFFFFFFFF - FFFFFFFFFFFFFFFFFFFFF9F2EBFFF1E1D1FFF1E1D1FFF1E1D1FFF1E1D1FFF1E1 - D1FFF1E1D1FFD39E68D5C7874840DBA7719CE9C195FFEAD1B6FFEAD0B5FFEAD0 - B5FFEAD0B5FFE7CAACFFE9CAA9FFF0D6B9FFF0D6B9FFF0D6B9FFF0D6B9FFF0D6 - B9FFF0D6B9FFF0D6B9FFDCB182DDDBA7719CE3B888FFEED3B5FFFEF0DFFFFEF0 - DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0 - DFFFFEF0DFFFFEF0DFFFE2B990B7DBA7719CE1B484FFF9E6D1FFFEF0DFFFFEF0 - DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0 - DFFFFEF0DFFFFEF0DFFFDBAF82A3DBA7719CDEB180FFFEF0DFFFFEF0DFFFFEF0 - DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0 - DFFFFEF0DFFFFDEEDDFFD9A8738CDBA7719CE0B487FFFEF0DFFFFEF0DFFFFEF0 - DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0 - DFFFFEF0DFFFF5DEC4FDD7A37253DBA7719CE5BE93FFFEF0DFFFFEF0DFFFFEF0 - DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0 - DFFFFEF0DFFFE8C7A2F4CC8C4D14D9A56DA1E9C59EFFFEF0DFFFFEF0DFFFFEF0 - DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0 - DFFFFEF0DFFFDFB68AEA00000000D8A56FB6F3DABEFFFEF0DFFFFEF0DFFFFEF0 - DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0 - DFFFFEF0DFFFDCAF81E000000000D6A36FD2FCEDDAFFFEF0DFFFFEF0DFFFFEF0 - DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0DFFFFEF0 - DFFFFEF0DFFFDAAA78D500000000D59D6478D7A56FC7D7A56FC7D7A56FC7D7A5 - 6FC7D7A56FC7D7A56FC7D7A56FC7D7A56FC7D7A56FC7D7A56FC7D7A56FC7D7A5 - 6FC7D7A56FC7D39D646300000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000 + 4C7A0300000010000000100000009E0200000000000078DAEDD6DD4F52611CC0 + 712EBAE80FE81FE81FE8A69BAE9A372D7BD1B5B979916B6B8A446B85DA666CCE + CD772D9962A69989180A0A238929948C7CD9508CE1128F0738BC132442CA8B66 + 4672CE13CF71C7BC28E141B76E7CB6EFF68C9D0F637BCEEF1C58ACFDB5DA5F52 + 1ED2774C843E0A354796BEC635C4E6B00EAD99BABCB3B1A5D12815F7826CDA5E + 556F41C3F825C18D8B499FE167B67E2F684AADF4155F663CD6779B47463090AD + A7366C8090DCAF67BCFBED93512AEEC9DEA70B681A558C5FD30BE7512C6CC3D0 + 6F627CCC34E240F58965A58FF1DBF8C406AADF217489F4199CF9D45E70FE97CF + B08BEAD367B067ED2DB984BFBAC321C32B00D5C3337048B835FEF19AD754CC83 + EED37DD134CBDDD207621257805CF2282A254E49F90069EE0341651588EB9BE9 + E07E67AE1DACABF974700F3F83D791980C50DE197AEF1EE1CA186F12DC049FBB + 8BE8E0DED2530CCC1D857470BFD4798B36946F16801F9B079E10973EA7BF3787 + 1C43EC978B4FAFB108F1DD17F077A0C4D8E32E5C545A6815DF6BFB13BB16DE57 + D97AE768E500E5D202A6945DBDEB92554C2EB45CADC894A1E5CA7542FA48179E + ED06074D7781A0AE13C4AD531923E4D501D778AD3D977B0FE679D7E83BF5A7FE + 381E1FE434D9A43C632E41CBFACFEB24E63FB9AA0471633F5DCCD09BC445650B + 99667FB13DFF02E3C3733D20E1B720651BAB361EF67F5BC9AD6FFFF4D8201737 + B6E6E7313E62D182C8B2E6A0904909C226F991CF1F97BAC10D7DE0431B88621A + F4F7DF94F03DF4FEC926905CB3207BA7AA61187A8FBA0ED992513720C61E0BA0 + F74DB622FB1D8F81B40D571541FF75BA1BD9AF1B25DFCD82827384F4E19BF0FC + 20B2F76A9F45E0F9DBA53CEDB6631AD9BB54F5F4FF2FEB306F25B5E940F60E05 + 1FDF9F1F363F97D9C744ECB29398DFDF7A8BC172 } end end diff --git a/components/fpexif/examples/metadata_viewer/mdvmain.pas b/components/fpexif/examples/metadata_viewer/mdvmain.pas index 435d9ee25..977009447 100644 --- a/components/fpexif/examples/metadata_viewer/mdvmain.pas +++ b/components/fpexif/examples/metadata_viewer/mdvmain.pas @@ -59,6 +59,7 @@ type FImgInfo: TImgInfo; FImageLoaded: Boolean; FImageOrientation: TExifOrientation; + FFileName: String; procedure LoadFile(const AFileName: String); procedure LoadFromIni; procedure SaveToIni; @@ -250,6 +251,7 @@ var crs: TCursor; begin FImageLoaded := false; + FFileName := AFileName; Image.Picture.Clear; TagListView.Items.BeginUpdate; @@ -427,8 +429,8 @@ begin crs := Screen.Cursor; try Screen.Cursor := crHourglass; - Image.Picture.LoadFromFile(FImgInfo.FileName); - if FImgInfo.ExifData <> nil then + Image.Picture.LoadFromFile(FFileName); + if Assigned(FImgInfo) and Assigned(FImgInfo.ExifData) then RotateBitmap(Image.Picture.Bitmap, FImgInfo.ExifData.ImgOrientation); FImageLoaded := true; finally @@ -561,7 +563,10 @@ begin 'Date: %s', [ FImgInfo.Filename, FImgInfo.FileSize div 1024, DateTimeToStr(FImgInfo.FileDate)]) else - FilenameInfo.caption := '< no file >'; + if FFileName <> '' then + FilenameInfo.Caption := Format('File: %s', [FFileName]) + else + FilenameInfo.Caption := '< no file >'; end; end. diff --git a/components/fpexif/fpeexifdata.pas b/components/fpexif/fpeexifdata.pas index 7d13bc54d..a53c11c83 100644 --- a/components/fpexif/fpeexifdata.pas +++ b/components/fpexif/fpeexifdata.pas @@ -1,7 +1,8 @@ -unit fpeExifData; +unit fpeExifData; {$IFDEF FPC} - {$mode objfpc}{$H+} + //{$mode objfpc}{$H+} + {$MODE DELPHI} {$ENDIF} {$I fpexif.inc} diff --git a/components/fpexif/fpeglobal.pas b/components/fpexif/fpeglobal.pas index e55a45249..c88a6f9bf 100644 --- a/components/fpexif/fpeglobal.pas +++ b/components/fpexif/fpeglobal.pas @@ -1,7 +1,8 @@ unit fpeGlobal; {$IFDEF FPC} - {$mode objfpc}{$H+} + //{$mode objfpc}{$H+} + {$MODE DELPHI} {$ENDIF} {$I fpExif.inc} diff --git a/components/fpexif/fpeiptcdata.pas b/components/fpexif/fpeiptcdata.pas index 05cafa180..31b124c5b 100644 --- a/components/fpexif/fpeiptcdata.pas +++ b/components/fpexif/fpeiptcdata.pas @@ -1,7 +1,7 @@ unit fpeIptcData; {$IFDEF FPC} - {$MODE Delphi} + {$MODE Delphi} {$ENDIF} {$I fpexif.inc} diff --git a/components/fpexif/fpeiptcreadwrite.pas b/components/fpexif/fpeiptcreadwrite.pas index 2103018f6..8053669d4 100644 --- a/components/fpexif/fpeiptcreadwrite.pas +++ b/components/fpexif/fpeiptcreadwrite.pas @@ -44,7 +44,8 @@ unit fpeIptcReadWrite; {$IFDEF FPC} - {$MODE objfpc}{$H+} + //{$MODE objfpc}{$H+} + {$MODE DELPHI} {$ENDIF} interface @@ -86,7 +87,10 @@ type implementation uses - lConvEncoding, fpeStrConsts; + {$IFDEF FPC} + lConvEncoding, + {$ENDIF} + fpeStrConsts; type // http://search.cpan.org/dist/Image-MetaData-JPEG/lib/Image/MetaData/JPEG/Structures.pod#Structure_of_an_IPTC_data_block diff --git a/components/fpexif/fpemakernotecanon.pas b/components/fpexif/fpemakernotecanon.pas index 41cae2db5..6599d25d4 100644 --- a/components/fpexif/fpemakernotecanon.pas +++ b/components/fpexif/fpemakernotecanon.pas @@ -2,7 +2,10 @@ unit fpeMakerNoteCanon; -{$mode objfpc}{$H+} +{$IFDEF FPC} +// {$mode objfpc}{$H+} + {$MODE DELPHI} +{$ENDIF} interface diff --git a/components/fpexif/fpemakernotecasio.pas b/components/fpexif/fpemakernotecasio.pas index 7a9270136..144b57db4 100644 --- a/components/fpexif/fpemakernotecasio.pas +++ b/components/fpexif/fpemakernotecasio.pas @@ -1,6 +1,9 @@ unit fpeMakerNoteCasio; -{$mode objfpc}{$H+} +{$IFDEF FPC} + {$MODE DELPHI} + //{$mode objfpc}{$H+} +{$ENDIF} interface diff --git a/components/fpexif/fpemakernoteepson.pas b/components/fpexif/fpemakernoteepson.pas index 3b61e8457..d4d330c11 100644 --- a/components/fpexif/fpemakernoteepson.pas +++ b/components/fpexif/fpemakernoteepson.pas @@ -1,6 +1,9 @@ unit fpeMakerNoteEpson; -{$mode objfpc}{$H+} +{$IFDEF FPC} + {$MODE DELPHI} + //{$mode objfpc}{$H+} +{$ENDIF} interface @@ -18,7 +21,8 @@ implementation procedure BuildEpsonTagDefs(AList: TTagDefList); const - M = DWord(TAGPARENT_MAKERNOTE); +// M = DWord(TAGPARENT_MAKERNOTE); + M = LongWord(TAGPARENT_MAKERNOTE); begin Assert(AList <> nil); with AList do begin diff --git a/components/fpexif/fpemakernotefuji.pas b/components/fpexif/fpemakernotefuji.pas index a52e70cc8..c3ad3a0e7 100644 --- a/components/fpexif/fpemakernotefuji.pas +++ b/components/fpexif/fpemakernotefuji.pas @@ -1,6 +1,9 @@ unit fpeMakerNoteFuji; -{$mode objfpc}{$H+} +{$IFDEF FPC} + {$MODE DELPHI} + //{$mode objfpc}{$H+} +{$ENDIF} interface @@ -74,7 +77,7 @@ resourcestring procedure BuildFujiTagDefs(AList: TTagDefList); const - M = DWord(TAGPARENT_MAKERNOTE); + M = LongWord(TAGPARENT_MAKERNOTE); begin Assert(AList <> nil); with AList do begin diff --git a/components/fpexif/fpemakernoteminolta.pas b/components/fpexif/fpemakernoteminolta.pas index e50be6aad..e6df6122c 100644 --- a/components/fpexif/fpemakernoteminolta.pas +++ b/components/fpexif/fpemakernoteminolta.pas @@ -1,6 +1,9 @@ -unit fpeMakerNoteMinolta; +unit fpeMakerNoteMinolta; -{$mode objfpc}{$H+} +{$IFDEF FPC} + //{$mode objfpc}{$H+} + {$MODE DELPHI} +{$ENDIF} interface diff --git a/components/fpexif/fpemakernotenikon.pas b/components/fpexif/fpemakernotenikon.pas index 884c7d3c3..638a9d9ec 100644 --- a/components/fpexif/fpemakernotenikon.pas +++ b/components/fpexif/fpemakernotenikon.pas @@ -1,6 +1,9 @@ unit fpeMakerNoteNikon; -{$mode objfpc}{$H+} +{$IFDEF FPC} + {$MODE DELPHI} + //{$mode objfpc}{$H+} +{$ENDIF} interface @@ -336,7 +339,7 @@ end; procedure TNikonMakerNoteReader.GetTagDefs(AStream: TStream); var - b: array of byte; + b: TBytes; //array of byte; tmp, tmp2: String; p: Integer; streamPos: Int64; @@ -393,7 +396,8 @@ begin FBigEndian := false else exit; - dw := AStream.ReadDWord; + dw := ReadDWord(AStream); +// dw := AStream.ReadDWord; if FBigEndian then dw := BEToN(dw) else dw := LEToN(dw); if dw = 8 then Result := true; diff --git a/components/fpexif/fpemakernoteolympus.pas b/components/fpexif/fpemakernoteolympus.pas index 0e1e72325..1d639677e 100644 --- a/components/fpexif/fpemakernoteolympus.pas +++ b/components/fpexif/fpemakernoteolympus.pas @@ -1,6 +1,9 @@ -unit fpeMakerNoteOlympus; +unit fpeMakerNoteOlympus; -{$mode objfpc}{$H+} +{$IFDEF FPC} + {$MODE DELPHI} + //{$mode objfpc}{$H+} +{$ENDIF} interface @@ -455,7 +458,7 @@ const SIGNATURE_V3I = 'OLYMPUS'#00'II'#03#00; SIGNATURE_V3M = 'OLYMPUS'#00'MM'#03#00; var - hdr: array of byte; + hdr: TBytes; //array of byte; p: Int64; begin p := AStream.Position; @@ -560,10 +563,12 @@ var intVal: TExifIntegerArray; s: String; lkup: TStringArray; - val1: Integer = -1; - val2: Integer = -1; + val1: Integer; + val2: Integer; begin Result := ''; + val1 := -1; + val2 := -1; if (toDecodeValue in FOptions) then begin intVal := GetAsIntegerArray; if Length(intVal) >= 3 then begin diff --git a/components/fpexif/fpemakernotesanyo.pas b/components/fpexif/fpemakernotesanyo.pas index 939be1ea4..a7da5b906 100644 --- a/components/fpexif/fpemakernotesanyo.pas +++ b/components/fpexif/fpemakernotesanyo.pas @@ -1,6 +1,9 @@ unit fpeMakerNoteSanyo; -{$mode objfpc}{$H+} +{$IFDEF FPC} + {$MODE DELPHI} + //{$mode objfpc}{$H+} +{$ENDIF} interface @@ -33,7 +36,7 @@ resourcestring // from dExif procedure BuildSanyoTagDefs(AList: TTagDefList); const - M = DWord(TAGPARENT_MAKERNOTE); + M = LongWord(TAGPARENT_MAKERNOTE); begin Assert(AList <> nil); with AList do begin diff --git a/components/fpexif/fpetags.pas b/components/fpexif/fpetags.pas index 8fe540a26..435426b27 100644 --- a/components/fpexif/fpetags.pas +++ b/components/fpexif/fpetags.pas @@ -1104,7 +1104,7 @@ begin raise EFpExif.CreateFmt('Value %d out of range for tag "%s"', [AValue, FName]); ttSInt8: if not WithRangeCheck or ((AValue >= -128) and (AValue <= 127)) then - FRawData[AIndex] := {%H-}PByte(AValue)^ + FRawData[AIndex] := PByte(@AValue)^ else raise EFpExif.CreateFmt('Value %d out of range for tag "%s"', [AValue, FName]); ttSInt16: diff --git a/components/fpexif/fpeutils.pas b/components/fpexif/fpeutils.pas index 9bfcf0ca5..61a6ed7d0 100644 --- a/components/fpexif/fpeutils.pas +++ b/components/fpexif/fpeutils.pas @@ -1,7 +1,8 @@ -unit fpeUtils; +unit fpeUtils; {$IFDEF FPC} - {$mode ObjFPC}{$H+} + {$mode ObjFPC}{$H+} + //{$MODE DELPHI} {$ENDIF} {$I fpExif.inc} @@ -21,9 +22,9 @@ uses type {$IFDEF FPC} - {$IF FPC_FULLVERSION < 3000200} +// {$IF FPC_FULLVERSION < 30002} TStringArray = array of string; - {$ENDIF} +// {$ENDIF} TInt64List = specialize TFPGList; {$ELSE} diff --git a/components/fpexif/fpexif_fpc.inc b/components/fpexif/fpexif_fpc.inc index 7434ebee2..21bbfa802 100644 --- a/components/fpexif/fpexif_fpc.inc +++ b/components/fpexif/fpexif_fpc.inc @@ -1,3 +1,3 @@ {$IF FPC_FullVersion < 30000} {$UNDEF FPC3+} - {$ENDIF} \ No newline at end of file +{$ENDIF} \ No newline at end of file