• R/O
  • HTTP
  • SSH
  • HTTPS

svg-dll: コミット

SVG (SSTP-Viewer Ghost) 用プラグイン


コミットメタ情報

リビジョン38eac31c6926888f1def61cd6d632a7c674e0246 (tree)
日時2003-04-22 05:11:18
作者naru <bottle@mika...>
コミッターnaru

ログメッセージ

Optimization: save result of find ghost failure

変更サマリ

差分

--- a/SVG.dpr
+++ b/SVG.dpr
@@ -63,7 +63,7 @@ end;
6363 // CanConfigureは、Configureを呼ばれてやることがあるかどうかを返す。
6464 function GetVersion(DLLName: PChar; NameLen: integer;
6565 var Version: integer; var CanConfigure: boolean): integer; cdecl;
66-const ThisDLL = 'SVG Surface Loader Ver. 2.1';
66+const ThisDLL = 'SVG Surface Loader Ver. 2.2';
6767 begin
6868 Version := 1;
6969 CanConfigure := true;
@@ -267,16 +267,23 @@ var Ghosts, AGhost: TStringList;
267267 i, dum: integer;
268268 Dir, DefFileName, BmpFileName: String;
269269 begin
270- if Ghost2File.Values[Ghost] <> '' then // すでにそのゴーストのファイルを記憶してる
270+ Result := '';
271+ if Ghost2File.Values[Ghost] <> '' then // すでにそのゴーストについて調査済み
271272 begin
272273 DefFileName := Ghost2File.Values[Ghost];
273- BmpFileName := LoadDefinitionFile(Ghost, Surface,
274- DefFileName, dum);
275- if BmpFileName <> '' then
274+ if DefFileName = '*' then // そのゴーストは知らない、と記憶している
276275 begin
277- Result := ExtractFilePath(DefFileName) + BmpFileName;
278- Pos := dum;
279276 Exit;
277+ end else // そのゴーストを知っている
278+ begin
279+ BmpFileName := LoadDefinitionFile(Ghost, Surface,
280+ DefFileName, dum);
281+ if BmpFileName <> '' then
282+ begin
283+ Result := ExtractFilePath(DefFileName) + BmpFileName;
284+ Pos := dum;
285+ Exit;
286+ end;
280287 end;
281288 end;
282289
@@ -285,10 +292,10 @@ begin
285292 Ghosts := TStringList.Create;
286293 try
287294 Ghosts.LoadFromFile(GhostFile);
288- for i := 0 to Ghosts.Count-1 do
289- begin
290- AGhost := TStringList.Create;
291- try
295+ AGhost := TStringList.Create;
296+ try
297+ for i := 0 to Ghosts.Count-1 do
298+ begin
292299 AGhost.CommaText := Ghosts[i];
293300 if AGhost[0] <> 'GHOST' then
294301 Continue;
@@ -302,13 +309,15 @@ begin
302309 Pos := dum;
303310 Break;
304311 end;
305- finally
306- AGhost.Free;
307312 end;
313+ finally
314+ AGhost.Free;
308315 end;
309316 finally
310317 Ghosts.Free;
311318 end;
319+ if Result = '' then
320+ Ghost2File.Values[Ghost] := '*'; // ゴーストが見つからなかった結果を記憶
312321 end;
313322
314323 // Ghostで指定されるゴーストのSurface番のサーフィスイメージを実際に読み出す。
旧リポジトリブラウザで表示