diff --git a/designer/utslsynmemo.tsf b/designer/utslsynmemo.tsf index 20c0e43..a1517f9 100644 --- a/designer/utslsynmemo.tsf +++ b/designer/utslsynmemo.tsf @@ -1551,7 +1551,8 @@ type TTsfFileParser = class // fiofs; public function Create(); - begin + begin + fmsgcaches := array(); fiofs := ioFileseparator(); FCacheDir :=TS_GetUserProfileHome()+"TslSynMemo"+fiofs+"cmpCaches";// d["value"]; //FCacheAbsFileName := FCacheDir+"\\cacheabstruct.stm"; @@ -2002,8 +2003,13 @@ type TTsfFileParser = class // function ModifyFname(n); begin nn := lowercase(n); - dg := getmsgd_Crc32(nn);//GetMsgdigest(nn,0); - return dg[1]+fiofs+n; + dg := fmsgcaches[nn]; + if not dg then + begin + dg := getmsgd_Crc32(nn);//GetMsgdigest(nn,0); + fmsgcaches[nn] := dg; + end + return dg[1]+fiofs+dg[2]+fiofs+n; end function WriteParseredFile(n,d,t); begin @@ -2078,6 +2084,8 @@ type TTsfFileParser = class // FCacheList;//目录列表 以 //FCacheAbsFileName;//缓存概要 FFindDirs; //查找目录 + + fmsgcaches; end function FileSaveThreader(o,d); begin