OSDN Git Service

人柱版を選択しても正規版のインストーラをDLする不具合の修正
[gikonavigoeson/gikonavi.git] / AddressHistory.pas
index 318b30b..1aba76d 100644 (file)
@@ -4,11 +4,10 @@ interface
 
 uses
        SysUtils, Classes, {SAX, SAXHelpers, SAXComps, SAXKW,}
-       GikoSystem, XMLIntf, XMLDoc{, HttpApp};
+       GikoSystem, {XMLIntf, XMLDoc}{, HttpApp} GikoXMLDoc, YofUtils;
 
 type
        TAddressHistoryDM = class(TDataModule)
-               procedure DataModuleCreate(Sender: TObject);
        private
                { Private \90é\8c¾ }
                FReadCount: Integer;
@@ -34,11 +33,6 @@ const
 
 {$R *.dfm}
 
-procedure TAddressHistoryDM.DataModuleCreate(Sender: TObject);
-begin
-//
-end;
-
 procedure TAddressHistoryDM.ReadHistory(sl: TStrings; ReadCount: Integer);
 var
        FileName: string;
@@ -48,27 +42,37 @@ var
        i: Integer;
        s: string;
 begin
+
        sl.Clear;
        FReadCount := ReadCount;
 
        FileName := GikoSys.GetConfigDir + ADDRESS_HISTORY_FILE_NAME;
 
        if FileExists(FileName) then begin
-               XMLDoc := LoadXMLDocument(FileName);
-               XMLNode := XMLDoc.DocumentElement;
-
-               if XMLNode.NodeName = 'address' then begin
-                       for i := 0 to XMLNode.ChildNodes.Count - 1 do begin
-                               HistoryNode := XMLNode.ChildNodes[i];
-                               if HistoryNode.NodeName = 'history' then begin
-                                       if FReadCount >= sl.Count then begin
-                                               s := Trim(HistoryNode.Attributes['url']);
-                                               if s <> '' then
-                                                       sl.Add(s);
-                                                       //sl.Add(HttpDecode(s));
-                                       end;
-                               end;
-                       end;
+               try
+            XMLDoc := IXMLDocument.Create;
+                       //XMLDoc := LoadXMLDocument(FileName);
+            LoadXMLDocument(FileName, XMLDoc);
+      try
+        XMLNode := XMLDoc.DocumentElement;
+
+        if XMLNode.NodeName = 'address' then begin
+          for i := 0 to XMLNode.ChildNodes.Count - 1 do begin
+            HistoryNode := XMLNode.ChildNodes[i];
+            if HistoryNode.NodeName = 'history' then begin
+              if FReadCount >= sl.Count then begin
+                s := Trim(HistoryNode.Attributes['url']);
+                if s <> '' then
+                  sl.Add(s);
+                  //sl.Add(HttpDecode(s));
+              end;
+            end;
+          end;
+        end;
+      finally
+        XMLDoc.Free;
+      end;
+               except
                end;
        end;
 
@@ -87,15 +91,17 @@ end;
 procedure TAddressHistoryDM.WriteHistory(sl: TStrings; WriteCount: Integer);
 var
        FileName: string;
-//     SaveList: TStringList;
+       SaveList: TStringList;
        i: Integer;
        Count: Integer;
-
+{
        XMLDoc: IXMLDocument;
        XMLNode: IXMLNode;
        HistoryNode: IXMLNode;
+}
 begin
-       XMLDoc :=  NewXMLDocument;
+{
+       XMLDoc :=       NewXMLDocument;
        XMLDoc.Encoding := 'Shift_JIS';
        XMLDoc.StandAlone := 'yes';
        XMLNode := XMLDoc.AddChild('address');
@@ -111,8 +117,8 @@ begin
                HistoryNode.Attributes['url'] := Trim(sl[i]);
        end;
        XMLDoc.SaveToFile(FileName);
-
-{      FileName := GikoSys.GetConfigDir + ADDRESS_HISTORY_FILE_NAME;
+}
+       FileName := GikoSys.GetConfigDir + ADDRESS_HISTORY_FILE_NAME;
        SaveList := TStringList.Create;
        try
                if sl.Count > WriteCount then
@@ -122,13 +128,13 @@ begin
                SaveList.Add('<?xml version="1.0" encoding="Shift_JIS" standalone="yes"?>');
                SaveList.Add('<address>');
                for i := 0 to Count - 1 do begin
-                       SaveList.Add('<history url="' + HttpEncode(Trim(sl[i])) + '"/>');
+                       SaveList.Add('<history url="' + HtmlEncode(Trim(sl[i])) + '"/>');
                end;
                SaveList.Add('</address>');
                SaveList.SaveToFile(FileName);
        finally
                SaveList.Free;
-       end;}
+       end;
 end;
 
 {procedure TAddressHistoryDM.SAXStartDocument(Sender: TObject);