OSDN Git Service

IE9の時に、ゼロ割例外を無視するように修正
[gikonavigoeson/gikonavi.git] / ExternalBoardPlugInMain.pas
index 06b9219..5127b81 100644 (file)
@@ -5,7 +5,7 @@ interface
 uses
        Windows, Classes, SysUtils, Menus,
        IdHTTP, IdComponent, IdGlobal, IdException,
-       AbonUnit;
+       AbonUnit, IdAntiFreezeBase;
 
 type
 
@@ -82,7 +82,8 @@ var
 
 implementation
 
-uses ExternalBoardManager, ExternalThreadItem, GikoSystem, BoardGroup, Giko;
+uses ExternalBoardManager, ExternalThreadItem, GikoSystem, BoardGroup, Giko,
+    ReplaceDataModule;
 
 // *************************************************************************
 // \96ß\82è\92l\82ª PChar \82Å\82 \82é API \82Ì\83\81\83\82\83\8a\82ð\8am\95Û\82·\82é
@@ -242,6 +243,7 @@ const
        LIVEDOOR_URL = 'http://jbbs.livedoor.jp/';
 begin
 
+
        {$IFDEF DEBUG}
        Writeln('ExternalBoardManager.InternalDownload');
        {$ENDIF}
@@ -267,19 +269,23 @@ begin
                                {$IFDEF DEBUG}
                                Writeln('URL: ' + inURL);
                                {$ENDIF}
+                //AntiFreeze\82ðDL\8e\9e\82Ì\82Ý\97L\8cø\82É\82·\82é\82±\82Æ\82Å\81A\83R\83R\82Å\82Ì\83`\83F\83b\83N\95s\97v
                                socket.Get( inURL, resStream );
                                {$IFDEF DEBUG}
                                Writeln('\8eæ\93¾\82Å\97á\8aO\82È\82µ');
                                {$ENDIF}
-
                                content                 := GikoSys.GzipDecompress( resStream, socket.Response.ContentEncoding );
+                // \92u\8a·\82·\82é
+                if GikoSys.Setting.ReplaceDat then begin
+                    content := ReplaceDM.Replace(content);
+                end;
 
                                ioModified      := socket.Response.LastModified;
 
                                Result := socket.ResponseCode;
                                if (Length( content ) = 0) and (Result = 206) then
                                        Result := 304;
-                //\82µ\82½\82ç\82ÎJBBS\82Í\83w\83b\83_\82É\83G\83\89\81[\8fî\95ñ\82ª\8dÚ\82é\82ç\82µ\82¢\82Ì\82Å\81A\82±\82±\82Å\83`\83F\83b\83N
+                               //\82µ\82½\82ç\82ÎJBBS\82Í\83w\83b\83_\82É\83G\83\89\81[\8fî\95ñ\82ª\8dÚ\82é\82ç\82µ\82¢\82Ì\82Å\81A\82±\82±\82Å\83`\83F\83b\83N
                                if ( AnsiPos(LIVEDOOR_URL, inURL) > 0 ) and (Result = 200) then begin
                                        if( AnsiPos('STORAGE IN', socket.Response.RawHeaders.Text) > 0 ) then begin
                                                Result := 302;