소스 검색

* for RC files set the current directory to the directory of the RC file so that relative paths are resolved correctly

git-svn-id: trunk@46397 -
svenbarth 5 년 전
부모
커밋
f1b9989bdd
1개의 변경된 파일6개의 추가작업 그리고 0개의 파일을 삭제
  1. 6 0
      utils/fpcres/sourcehandler.pas

+ 6 - 0
utils/fpcres/sourcehandler.pas

@@ -83,7 +83,9 @@ var aReader : TAbstractResourceReader;
     aStream : TClosableFileStream;
     i : integer;
     tmpres : TResources;
+    olddir : String;
 begin
+  olddir:=GetCurrentDir;
   tmpres:=TResources.Create;
   try
     for i:=0 to fFileList.Count-1 do
@@ -110,11 +112,15 @@ begin
         if aReader is TRCResourceReader then begin
           TRCResourceReader(aReader).RCIncludeDirs.Assign(fRCIncludeDirs);
           TRCResourceReader(aReader).RCDefines.Assign(fRCDefines);
+          SetCurrentDir(ExtractFilePath(ExpandFileName(fFileList[i])));
         end;
         tmpres.LoadFromStream(aStream,aReader);
         aResources.MoveFrom(tmpres);
         Messages.DoVerbose('Resource information read');
       finally
+        if aReader is TRCResourceReader then begin
+          SetCurrentDir(olddir);
+        end;
         aReader.Free;
       end;
     end;