diff --git a/components/fpexif/delphi examples/console_demo/console_demo.dpr b/components/fpexif/delphi examples/console_demo/console_demo.dpr index 182be9621..3a41c835f 100644 --- a/components/fpexif/delphi examples/console_demo/console_demo.dpr +++ b/components/fpexif/delphi examples/console_demo/console_demo.dpr @@ -2,6 +2,7 @@ program console_demo; {$APPTYPE CONSOLE} {$DEFINE dExifNoJpeg} +{$INCLUDE ..\..\fpexif.inc} {$R *.res} @@ -15,7 +16,11 @@ var tag: TTag; const +{$IFDEF DELPHI7} + FILENAME = '..\test-image.jpg'; +{$ELSE} FILENAME = '..\..\..\test-image.jpg'; +{$ENDIF} begin try diff --git a/components/fpexif/delphi examples/console_demo/console_demo.dproj b/components/fpexif/delphi examples/console_demo/console_demo.dproj index 321c07b54..a16d10e31 100644 --- a/components/fpexif/delphi examples/console_demo/console_demo.dproj +++ b/components/fpexif/delphi examples/console_demo/console_demo.dproj @@ -1,7 +1,7 @@  {FAF25CF3-1AD3-4E91-AAE4-53A637D73E44} - 18.6 + 18.8 None console_demo.dpr True @@ -18,6 +18,11 @@ Base true + + true + Base + true + true Base @@ -75,6 +80,29 @@ $(BDS)\bin\Artwork\Android\FM_SplashImage_640x480.png $(BDS)\bin\Artwork\Android\FM_SplashImage_960x720.png android-support-v4.dex.jar;cloud-messaging.dex.jar;fmx.dex.jar;google-analytics-v2.dex.jar;google-play-billing.dex.jar;google-play-licensing.dex.jar;google-play-services-ads-7.0.0.dex.jar;google-play-services-analytics-7.0.0.dex.jar;google-play-services-base-7.0.0.dex.jar;google-play-services-gcm-7.0.0.dex.jar;google-play-services-identity-7.0.0.dex.jar;google-play-services-maps-7.0.0.dex.jar;google-play-services-panorama-7.0.0.dex.jar;google-play-services-plus-7.0.0.dex.jar;google-play-services-wallet-7.0.0.dex.jar + $(BDS)\bin\Artwork\Android\FM_NotificationIcon_24x24.png + $(BDS)\bin\Artwork\Android\FM_NotificationIcon_36x36.png + $(BDS)\bin\Artwork\Android\FM_NotificationIcon_48x48.png + $(BDS)\bin\Artwork\Android\FM_NotificationIcon_72x72.png + $(BDS)\bin\Artwork\Android\FM_NotificationIcon_96x96.png + + + package=com.embarcadero.$(MSBuildProjectName);label=$(MSBuildProjectName);versionCode=1;versionName=1.0.0;persistent=False;restoreAnyVersion=False;installLocation=auto;largeHeap=False;theme=TitleBar;hardwareAccelerated=true;apiKey= + Debug + true + Base + true + DBXSqliteDriver;IndyIPCommon;RESTComponents;bindcompdbx;DBXInterBaseDriver;IndyIPServer;IndySystem;tethering;fmxFireDAC;FireDAC;bindcompfmx;FireDACSqliteDriver;ibmonitor;FMXTee;soaprtl;DbxCommonDriver;FmxTeeUI;ibxpress;fmx;FireDACIBDriver;xmlrtl;soapmidas;ibxbindings;rtl;DbxClientDriver;CustomIPTransport;dbexpress;IndyCore;bindcomp;dsnap;FireDACCommon;IndyIPClient;RESTBackendComponents;soapserver;dbxcds;bindengine;CloudService;dsnapxml;dbrtl;IndyProtocols;FireDACCommonDriver;inet;$(DCC_UsePackage);$(DCC_UsePackage) + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_36x36.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_48x48.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_72x72.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_96x96.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_144x144.png + $(BDS)\bin\Artwork\Android\FM_SplashImage_426x320.png + $(BDS)\bin\Artwork\Android\FM_SplashImage_470x320.png + $(BDS)\bin\Artwork\Android\FM_SplashImage_640x480.png + $(BDS)\bin\Artwork\Android\FM_SplashImage_960x720.png + android-support-v4.dex.jar;cloud-messaging.dex.jar;fmx.dex.jar;google-analytics-v2.dex.jar;google-play-billing.dex.jar;google-play-licensing.dex.jar;google-play-services-ads-7.0.0.dex.jar;google-play-services-analytics-7.0.0.dex.jar;google-play-services-base-7.0.0.dex.jar;google-play-services-gcm-7.0.0.dex.jar;google-play-services-identity-7.0.0.dex.jar;google-play-services-maps-7.0.0.dex.jar;google-play-services-panorama-7.0.0.dex.jar;google-play-services-plus-7.0.0.dex.jar;google-play-services-wallet-7.0.0.dex.jar DBXSqliteDriver;IndyIPCommon;RESTComponents;bindcompdbx;DBXInterBaseDriver;vcl;IndyIPServer;vclactnband;vclFireDAC;IndySystem;tethering;svnui;dsnapcon;FireDACADSDriver;FireDACMSAccDriver;fmxFireDAC;vclimg;TeeDB;FireDAC;vcltouch;vcldb;bindcompfmx;svn;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;inetdb;FMXTee;soaprtl;DbxCommonDriver;FmxTeeUI;ibxpress;fmx;FireDACIBDriver;fmxdae;xmlrtl;soapmidas;ibxbindings;fmxobj;vclwinx;vclib;rtl;Tee;DbxClientDriver;CustomIPTransport;vcldsnap;dbexpress;IndyCore;vclx;bindcomp;appanalytics;dsnap;FireDACCommon;IndyIPClient;bindcompvcl;RESTBackendComponents;TeeUI;VCLRESTComponents;soapserver;dbxcds;VclSmp;adortl;vclie;bindengine;DBXMySQLDriver;CloudService;dsnapxml;FireDACMySQLDriver;dbrtl;IndyProtocols;inetdbxpress;FireDACCommonODBC;FireDACCommonDriver;inet;fmxase;$(DCC_UsePackage) @@ -197,12 +225,20 @@ classes 1 + + classes + 1 + res\xml 1 + + res\xml + 1 + @@ -215,96 +251,242 @@ library\lib\armeabi 1 + + library\lib\armeabi + 1 + + + + + library\lib\armeabi-v7a + 1 + library\lib\mips 1 + + library\lib\mips + 1 + library\lib\armeabi-v7a 1 + + library\lib\arm64-v8a + 1 + + + + + library\lib\armeabi-v7a + 1 + res\drawable 1 + + res\drawable + 1 + res\values 1 + + res\values + 1 + res\values-v21 1 + + res\values-v21 + 1 + + + + + res\values + 1 + + + res\values + 1 + res\drawable 1 + + res\drawable + 1 + res\drawable-xxhdpi 1 + + res\drawable-xxhdpi + 1 + res\drawable-ldpi 1 + + res\drawable-ldpi + 1 + res\drawable-mdpi 1 + + res\drawable-mdpi + 1 + res\drawable-hdpi 1 + + res\drawable-hdpi + 1 + res\drawable-xhdpi 1 + + res\drawable-xhdpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-xxxhdpi + 1 + + + res\drawable-xxxhdpi + 1 + res\drawable-small 1 + + res\drawable-small + 1 + res\drawable-normal 1 + + res\drawable-normal + 1 + res\drawable-large 1 + + res\drawable-large + 1 + res\drawable-xlarge 1 + + res\drawable-xlarge + 1 + + + + + res\values + 1 + + + res\values + 1 + @@ -393,6 +575,9 @@ 0 + + 0 + 0 @@ -425,6 +610,17 @@ 1 + + + 1 + + + 1 + + + 1 + + 1 @@ -436,6 +632,39 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -447,6 +676,61 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -458,6 +742,116 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 @@ -491,10 +885,35 @@ 1 + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + 1 + + 1 + @@ -587,6 +1006,10 @@ library\lib\armeabi-v7a 1 + + library\lib\arm64-v8a + 1 + 1 @@ -611,6 +1034,12 @@ 0 + + + library\lib\armeabi-v7a + 1 + + 1 @@ -648,9 +1077,11 @@ + False + False True True diff --git a/components/fpexif/delphi examples/metadata_viewer/MetadataViewer.dproj b/components/fpexif/delphi examples/metadata_viewer/MetadataViewer.dproj index 3f3391350..5b7348e35 100644 --- a/components/fpexif/delphi examples/metadata_viewer/MetadataViewer.dproj +++ b/components/fpexif/delphi examples/metadata_viewer/MetadataViewer.dproj @@ -7,7 +7,7 @@ 3 Application VCL - 18.6 + 18.8 Win32 diff --git a/components/fpexif/delphi examples/metadata_viewer/mdvmain.dfm b/components/fpexif/delphi examples/metadata_viewer/mdvmain.dfm index 7a9311362..8be6484ff 100644 --- a/components/fpexif/delphi examples/metadata_viewer/mdvmain.dfm +++ b/components/fpexif/delphi examples/metadata_viewer/mdvmain.dfm @@ -37,7 +37,6 @@ object MainForm: TMainForm Height = 5 Cursor = crVSplit Align = alTop - ExplicitTop = 269 end object PreviewImage: TImage Left = 0 @@ -89,7 +88,6 @@ object MainForm: TMainForm 80008000800080008000} TabOrder = 0 OnChange = ShellTreeViewChange - ExplicitTop = 0 Data = {10} end object ShellListView: TFileListBox @@ -103,8 +101,6 @@ object MainForm: TMainForm ShowGlyphs = True TabOrder = 2 OnChange = ShellListViewChange - ExplicitTop = 274 - ExplicitHeight = 260 end object Panel4: TPanel Left = 0 @@ -125,16 +121,23 @@ object MainForm: TMainForm ParentColor = False end end - object DriveComboBox1: TDriveComboBox + object Panel5: TPanel Left = 0 Top = 0 Width = 274 Height = 19 Align = alTop + BevelOuter = bvNone TabOrder = 3 - OnChange = DriveComboBox1Change - ExplicitLeft = 3 - ExplicitTop = -4 + OnResize = Panel5Resize + object DriveComboBox1: TDriveComboBox + Left = 0 + Top = 0 + Width = 274 + Height = 19 + TabOrder = 0 + OnChange = DriveComboBox1Change + end end end object Panel2: TPanel @@ -152,7 +155,6 @@ object MainForm: TMainForm Height = 5 Cursor = crVSplit Align = alBottom - ExplicitTop = 562 end object Panel3: TPanel Left = 0 @@ -250,7 +252,6 @@ object MainForm: TMainForm Center = True Proportional = True Stretch = True - ExplicitHeight = 545 end end end diff --git a/components/fpexif/delphi examples/metadata_viewer/mdvmain.pas b/components/fpexif/delphi examples/metadata_viewer/mdvmain.pas index 894023f06..072d7f775 100644 --- a/components/fpexif/delphi examples/metadata_viewer/mdvmain.pas +++ b/components/fpexif/delphi examples/metadata_viewer/mdvmain.pas @@ -43,6 +43,7 @@ type Splitter1: TSplitter; Splitter2: TSplitter; DriveComboBox1: TDriveComboBox; + Panel5: TPanel; procedure BtnChangeDateClick(Sender: TObject); procedure CbShowTagIDsChange(Sender: TObject); procedure FormCreate(Sender: TObject); @@ -61,6 +62,7 @@ type procedure ShellTreeViewChange(Sender: TObject); procedure ShellListViewChange(Sender: TObject); procedure DriveComboBox1Change(Sender: TObject); + procedure Panel5Resize(Sender: TObject); private FFileName: String; FImgInfo: TImgInfo; @@ -463,6 +465,11 @@ begin end; end; +procedure TMainForm.Panel5Resize(Sender: TObject); +begin + DriveCombobox1.Width := Panel5.Width; +end; + procedure TMainForm.SaveToIni; var ini: TCustomIniFile; diff --git a/components/fpexif/delphi examples/simple_demo/ExifSimpleDemo.dproj b/components/fpexif/delphi examples/simple_demo/ExifSimpleDemo.dproj index 4cb628a80..c7f4a041d 100644 --- a/components/fpexif/delphi examples/simple_demo/ExifSimpleDemo.dproj +++ b/components/fpexif/delphi examples/simple_demo/ExifSimpleDemo.dproj @@ -7,7 +7,7 @@ 3 Application VCL - 18.6 + 18.8 Win32 @@ -118,6 +118,7 @@ true 1033 CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName) + $(BDS)\bin\delphi_PROJECTICON.ico true @@ -127,7 +128,7 @@ MainSource - +
Form1
diff --git a/components/fpexif/delphi examples/simple_demo/ExifSimpleDemo.res b/components/fpexif/delphi examples/simple_demo/ExifSimpleDemo.res index fa321156e..42d28941c 100644 Binary files a/components/fpexif/delphi examples/simple_demo/ExifSimpleDemo.res and b/components/fpexif/delphi examples/simple_demo/ExifSimpleDemo.res differ diff --git a/components/fpexif/examples/console_demo/console_demo.lpi b/components/fpexif/examples/console_demo/console_demo.lpi index 9eab0b2ac..9a3b1bb6d 100644 --- a/components/fpexif/examples/console_demo/console_demo.lpi +++ b/components/fpexif/examples/console_demo/console_demo.lpi @@ -1,16 +1,16 @@ - + + - <UseAppBundle Value="False"/> <ResourceType Value="res"/> @@ -49,6 +49,11 @@ <IncludeFiles Value="$(ProjOutDir)"/> <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/> </SearchPaths> + <Linking> + <Debugging> + <DebugInfoType Value="dsDwarf2Set"/> + </Debugging> + </Linking> </CompilerOptions> <Debugging> <Exceptions Count="3"> diff --git a/components/fpexif/examples/file_renamer/file_renamer.lpi b/components/fpexif/examples/file_renamer/file_renamer.lpi index eb32bda8a..9f04dc111 100644 --- a/components/fpexif/examples/file_renamer/file_renamer.lpi +++ b/components/fpexif/examples/file_renamer/file_renamer.lpi @@ -1,11 +1,13 @@ <?xml version="1.0" encoding="UTF-8"?> <CONFIG> <ProjectOptions> - <Version Value="11"/> + <Version Value="12"/> <PathDelim Value="\"/> <General> + <Flags> + <CompatibilityMode Value="True"/> + </Flags> <SessionStorage Value="InProjectDir"/> - <MainUnit Value="0"/> <Title Value="file_renamer"/> <Scaled Value="True"/> <ResourceType Value="res"/> @@ -22,7 +24,6 @@ </PublishOptions> <RunParams> <FormatVersion Value="2"/> - <Modes Count="0"/> </RunParams> <RequiredPackages Count="2"> <Item1> diff --git a/components/fpexif/examples/simple_demo/ExifSimpleDemo.lpi b/components/fpexif/examples/simple_demo/ExifSimpleDemo.lpi index 8a0da9465..4760ad30b 100644 --- a/components/fpexif/examples/simple_demo/ExifSimpleDemo.lpi +++ b/components/fpexif/examples/simple_demo/ExifSimpleDemo.lpi @@ -60,7 +60,7 @@ </SearchPaths> <Linking> <Debugging> - <UseExternalDbgSyms Value="True"/> + <DebugInfoType Value="dsDwarf2"/> </Debugging> <Options> <Win32> diff --git a/components/fpexif/examples/simple_demo/sdmain.lfm b/components/fpexif/examples/simple_demo/sdmain.lfm index 423db2b39..f715ea789 100644 --- a/components/fpexif/examples/simple_demo/sdmain.lfm +++ b/components/fpexif/examples/simple_demo/sdmain.lfm @@ -40,7 +40,7 @@ object MainForm: TMainForm ItemHeight = 15 OnSelect = CbFilenameSelect TabOrder = 1 - Text = '..\..\tests\pictures\originals\Canon-Powershot_A70-II-Th.JPG' + Text = '..\..\tests\pictures\originals\with_exif.tif' end object Memo: TMemo AnchorSideLeft.Control = Owner @@ -242,7 +242,7 @@ object MainForm: TMainForm object OpenDialog: TOpenDialog DefaultExt = '.jpg' Filter = 'All supported images (*.jpg; *.jpeg; *.jfe); *.tiff; *.tif|*.jpg;*.jpeg;*.jfe;*.tiff;*.tif|JPG files (*.jpg; *.jpeg; *.jfe)|*.jpg;*.jpeg;*.jfe|TIFF files (*.tiff; *.tif)|*.tiff;*.tif' - left = 248 - top = 168 + Left = 248 + Top = 168 end end diff --git a/components/fpexif/examples/simple_demo/sdmain.pas b/components/fpexif/examples/simple_demo/sdmain.pas index 813882b22..5cd9ea481 100644 --- a/components/fpexif/examples/simple_demo/sdmain.pas +++ b/components/fpexif/examples/simple_demo/sdmain.pas @@ -269,8 +269,6 @@ begin end; procedure TMainForm.LoadFile(const AFileName: String); -var - exportOptions: TExportOptions; begin if FImgInfo = nil then FImgInfo := TImgInfo.Create; @@ -309,15 +307,14 @@ var ms: TMemoryStream; begin if not FImgInfo.HasThumbnail then + begin + Thumbnail.Picture.Clear; exit; - - //if (FImgInfo.ExifData = nil) or (not FImgInfo.Exifdata.HasThumbnail) then - // exit; + end; ms := TMemoryStream.Create; try FImgInfo.SaveThumbnailToStream(ms); -// FImgInfo.ExifData.SaveThumbnailToStream(ms); ms.Position := 0; Thumbnail.Picture.LoadfromStream(ms); finally diff --git a/components/fpexif/fpeexifdata.pas b/components/fpexif/fpeexifdata.pas index ad86eec78..0de5e126e 100644 --- a/components/fpexif/fpeexifdata.pas +++ b/components/fpexif/fpeexifdata.pas @@ -1,4 +1,4 @@ -unit fpeExifData; +unit fpeExifData; {$IFDEF FPC} //{$mode objfpc}{$H+} diff --git a/components/fpexif/fpeexifreadwrite.pas b/components/fpexif/fpeexifreadwrite.pas index 048a9bac1..00550dee7 100644 --- a/components/fpexif/fpeexifreadwrite.pas +++ b/components/fpexif/fpeexifreadwrite.pas @@ -10,6 +10,8 @@ unit fpeExifReadWrite; {$MODE Delphi} {$ENDIF} +{$INCLUDE fpexif.inc} + interface uses @@ -146,7 +148,9 @@ begin begin Makes := TStringList.Create; try + {$IFNDEF DELPHI7} Makes.StrictDelimiter := true; + {$ENDIF} Makes.Delimiter := ';'; ucMake := Uppercase(AMake); for Result:=0 to RegisteredReaders.Count-1 do begin diff --git a/components/fpexif/fpeiptcdata.pas b/components/fpexif/fpeiptcdata.pas index 3b9edf786..996a37204 100644 --- a/components/fpexif/fpeiptcdata.pas +++ b/components/fpexif/fpeiptcdata.pas @@ -247,13 +247,17 @@ var idx: Integer; begin if ATag = nil then - exit(-1); + begin + Result := -1; + exit; + end; idx := IndexOfTagID(ATag.TagID); if idx <> -1 then begin // Replace existing tag FTagList.Delete(idx); FTagList.Insert(idx, ATag); + Result := idx; end else // Add the new tag Result := FTagList.Add(ATag); diff --git a/components/fpexif/fpemakernoteminolta.pas b/components/fpexif/fpemakernoteminolta.pas index e6df6122c..3539beb59 100644 --- a/components/fpexif/fpemakernoteminolta.pas +++ b/components/fpexif/fpemakernoteminolta.pas @@ -1,4 +1,4 @@ -unit fpeMakerNoteMinolta; +unit fpeMakerNoteMinolta; {$IFDEF FPC} //{$mode objfpc}{$H+} diff --git a/components/fpexif/fpemakernotenikon.pas b/components/fpexif/fpemakernotenikon.pas index 638a9d9ec..53c732f03 100644 --- a/components/fpexif/fpemakernotenikon.pas +++ b/components/fpexif/fpemakernotenikon.pas @@ -424,7 +424,7 @@ begin s, intval[1], intVal[2], intVal[3], intVal[4], intVal[5], intVal[6] ]); end else - Result := inherited; + Result := inherited GetAsString; end; function TNikonLensTypeTag.GetAsString: String; @@ -442,7 +442,7 @@ begin if intVal and 32 <> 0 then Result := Result + 'E+'; if Result <> '' then SetLength(Result, Length(Result)-1); end else - Result := inherited; + Result := inherited GetAsString; end; function TNikonLensTag.GetAsString: String; @@ -453,7 +453,7 @@ begin if (toDecodeValue in FOptions) and (Length(values) = 4) then Result := Format('%g-%gmm f/%g-%g', [values[0], values[1], values[2], values[3]], fpExifFmtSettings) else - Result := inherited; + Result := inherited GetAsString; end; function TNikonShootingModetag.GetAsString: String; @@ -478,7 +478,7 @@ begin if Result <> '' then SetLength(Result, Length(Result)-2); end; end else - Result := inherited; + Result := inherited GetAsString; end; function TNikonNEFBitDepthTag.GetAsString: String; @@ -500,13 +500,13 @@ begin else if iVal[i] = iVal[0] then inc(n) else begin - Result := inherited; + Result := inherited GetAsString; exit; end; Result := Result + ' x ' + IntToStr(n); end; end else - Result := inherited; + Result := inherited GetAsString; end; initialization diff --git a/components/fpexif/fpemakernoteolympus.pas b/components/fpexif/fpemakernoteolympus.pas index 1d639677e..bc81b9e4f 100644 --- a/components/fpexif/fpemakernoteolympus.pas +++ b/components/fpexif/fpemakernoteolympus.pas @@ -1,4 +1,4 @@ -unit fpeMakerNoteOlympus; +unit fpeMakerNoteOlympus; {$IFDEF FPC} {$MODE DELPHI} @@ -552,10 +552,10 @@ begin if Result <> '' then SetLength(Result, Length(Result)-2) else - Result := inherited; + Result := inherited GetAsString; end; end else - Result := inherited; + Result := inherited GetAsString; end; function TOlympusGradationTag.GetAsString: String; @@ -597,7 +597,7 @@ begin end; end; if Result = '' then - Result := inherited; + Result := inherited GetAsString; end; function TOlympusFocusModeTag.GetAsString: String; @@ -632,7 +632,7 @@ begin end; end; if Result = '' then - Result := inherited; + Result := inherited GetAsString; end; diff --git a/components/fpexif/fpeutils.pas b/components/fpexif/fpeutils.pas index 61a6ed7d0..695672cd2 100644 --- a/components/fpexif/fpeutils.pas +++ b/components/fpexif/fpeutils.pas @@ -1,4 +1,4 @@ -unit fpeUtils; +unit fpeUtils; {$IFDEF FPC} {$mode ObjFPC}{$H+}