- Strs.Text := SourceStr;
- for i := Strs.Count-1 downto 0 do begin
- j := Pos('.', Strs[i]);
- ID := Copy(Strs[i], 1, j-1);
- if ID = TargetID then begin
- Strs.Delete(i); // \97v\82ç\82È\82¢\83G\83\93\83g\83\8a\82ð\8dí\8f\9c
- Result := true;
+ SourceStr := '';
+ P := MapViewOfFile(MappingHandle, FILE_MAP_WRITE, 0, 0, 0);
+ if P <> nil then begin
+ CopyMemory(@Size, P, SizeOf(integer));
+ Inc(PChar(P), SizeOf(integer));
+ SourceStr := PChar(P);
+ if Length(SourceStr) > Size then
+ raise ESakuraSeekerError.Create('FMO\82ð\8eæ\93¾\82Å\82«\82Ü\82¹\82ñ\82Å\82µ\82½');
+ end;
+
+ //\83f\81[\83^\82ð\89ð\90Í
+ Strs := TStringList.Create;
+ try
+ Strs.Text := SourceStr;
+ for i := Strs.Count-1 downto 0 do begin
+ j := Pos('.', Strs[i]);
+ ID := Copy(Strs[i], 1, j-1);
+ if ID = TargetID then begin
+ Strs.Delete(i); // \97v\82ç\82È\82¢\83G\83\93\83g\83\8a\82ð\8dí\8f\9c
+ Result := true;
+ end;