diff options
author | svenbarth <svenbarth@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2020-08-12 19:07:18 +0000 |
---|---|---|
committer | svenbarth <svenbarth@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2020-08-12 19:07:18 +0000 |
commit | a3faf868ca6ba2531cd8e03945092b3dffaaf1e1 (patch) | |
tree | 97e4b2a94b9c11c67da9af5e64563c1538dba39d /utils/fpcres | |
parent | 9f1bf26b5309cccbbc28e8da221a7492f0b21ca3 (diff) | |
download | fpc-a3faf868ca6ba2531cd8e03945092b3dffaaf1e1.tar.gz |
* do not automatically register the RC reader, because it captures any file, instead handle that in fpcres itself if the output format calls for it
git-svn-id: https://svn.freepascal.org/svn/fpc/trunk@46395 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'utils/fpcres')
-rw-r--r-- | utils/fpcres/fpcres.pas | 1 | ||||
-rw-r--r-- | utils/fpcres/sourcehandler.pas | 17 |
2 files changed, 13 insertions, 5 deletions
diff --git a/utils/fpcres/fpcres.pas b/utils/fpcres/fpcres.pas index 06f8dfe63c..d822729e49 100644 --- a/utils/fpcres/fpcres.pas +++ b/utils/fpcres/fpcres.pas @@ -218,6 +218,7 @@ begin sourcefiles.FileList.AddStrings(params.InputFiles); sourcefiles.RCDefines.AddStrings(params.RCDefines); sourcefiles.RCIncludeDirs.AddStrings(params.RCIncludeDirs); + sourcefiles.RCMode:=CurrentTarget.objformat=ofRes; try sourcefiles.Load(resources); except diff --git a/utils/fpcres/sourcehandler.pas b/utils/fpcres/sourcehandler.pas index cd488f6f28..568391b187 100644 --- a/utils/fpcres/sourcehandler.pas +++ b/utils/fpcres/sourcehandler.pas @@ -39,6 +39,7 @@ type fRCIncludeDirs: TStringList; fRCDefines: TStringList; fStreamList : TFPList; + fRCMode: Boolean; public constructor Create; destructor Destroy; override; @@ -46,6 +47,7 @@ type property FileList : TStringList read fFileList; property RCIncludeDirs: TStringList read fRCIncludeDirs; property RCDefines: TStringList read fRCDefines; + property RCMode: Boolean read fRCMode write fRCMode; end; implementation @@ -61,6 +63,7 @@ begin fStreamList:=TFPList.Create; fRCDefines:= TStringList.Create; fRCIncludeDirs:= TStringList.Create; + fRCMode:=False; end; destructor TSourceFiles.Destroy; @@ -92,11 +95,15 @@ begin raise ECantOpenFileException.Create(fFileList[i]); end; fStreamList.Add(aStream); - try - aReader:=TResources.FindReader(aStream); - except - raise EUnknownInputFormatException.Create(fFileList[i]); - end; + { the RC reader reads anything, so handle that separately } + if fRCMode then + aReader:=TRCResourceReader.Create + else + try + aReader:=TResources.FindReader(aStream); + except + raise EUnknownInputFormatException.Create(fFileList[i]); + end; Messages.DoVerbose(Format('Chosen reader: %s',[aReader.Description])); try Messages.DoVerbose('Reading resource information...'); |