OSDN Git Service

外部からのD&DをListViewだけが受け取るように修正。
authorh677 <h677>
Sat, 6 Oct 2007 05:27:27 +0000 (05:27 +0000)
committerh677 <h677>
Sat, 6 Oct 2007 05:27:27 +0000 (05:27 +0000)
デストラクタの修正

Giko.pas
GikoSystem.pas
HTMLCreate.pas
KuroutSetting.dfm
MainForm.pas
MoveHistoryItem.pas
NewBoardURL.dfm
Setting.pas
Splash.pas

index bb75e43..579e4a3 100644 (file)
--- a/Giko.pas
+++ b/Giko.pas
@@ -692,17 +692,16 @@ type
         procedure SameBoardThreadSubItemOnClick(Sender: TObject);
         //! \83|\83b\83v\83A\83b\83v\83u\83\89\83E\83U\8dì\90¬
         procedure CreateResPopupBrowser;
-        //! D&D\82ð\8eó\82¯\8eæ\82é
-        procedure WMDropFiles(var Msg: TWMDropFiles); Message WM_DropFiles;
         //! \83t\83@\83C\83\8b\83`\83F\83b\83N
         function isValidFile(FileName: String) : boolean;
+        //! ListView\82ÌD&D\8eó\82¯\8eæ\82è
+        procedure AcceptDropFiles(var Msg: TMsg);
        protected
                procedure CreateParams(var Params: TCreateParams); override;
                procedure WndProc(var Message: TMessage); override;
                procedure WMSetCursor(var Message: TWMSetCursor); message WM_SETCURSOR;
                procedure WMSettingChange(var Message: TWMWinIniChange); message WM_SETTINGCHANGE;
                procedure WMCopyData(var Message: TWMCopyData); message WM_COPYDATA;
-
        public
                { Public \90é\8c¾ }
                LastRoundTime: TDateTime;
@@ -1329,7 +1328,7 @@ begin
     ResPopupClearTimer.Interval := GikoSys.Setting.RespopupWait;
 
     // D&D\82ð\8eó\82¯\8eæ\82é
-    DragAcceptFiles(Self.Handle, True);
+    DragAcceptFiles(ListView.Handle, True);
 
     // \8f\89\8aú\89»\82É\8e¸\94s\82µ\82½\83\82\83W\83\85\81[\83\8b\83`\83F\83b\83N
     if (FavoriteDM.AbEnd) then begin
@@ -7402,7 +7401,13 @@ begin
                                end;
                        end;
                end;
-       end;
+       end else begin
+        // Explorer\82ÌD&D\82ð\8eó\82¯\82é\82Æ\82Ì\94ñ\83A\83N\83e\83B\83u
+        if Msg.message = WM_DROPFILES then begin
+            AcceptDropFiles(Msg);
+            Handled := True;
+        end;
+    end;
 end;
 // *************************************************************************
 //! \83A\83v\83\8a\83P\81[\83V\83\87\83\93\82ª\83A\83N\83e\83B\83u\82Å\82È\82­\82È\82Á\82½\82Æ\82«\82Ì\83C\83x\83\93\83g
@@ -7723,14 +7728,15 @@ begin
         FResPopupBrowser := TResPopupBrowser.Create(BrowserPanel);
     end;
 end;
-//! \8aO\82©\82ç\82ÌD&D\8f\88\97\9d
-procedure TGikoForm.WMDropFiles(var Msg: TWMDropFiles);
+//! ListView\82ÌD&D\8eó\82¯\8eæ\82è
+procedure TGikoForm.AcceptDropFiles(var Msg: TMsg);
 var
     FileName: Array[0..MAX_PATH] of Char;
     Cnt, K: Integer;
     Board: TBoard;
     LogFolder: String;
     datList: TStringList;
+    p: TPoint;
 begin
     // \95\\8e¦\82µ\82Ä\82¢\82é\82Ì\94Â\82Ì\82Æ\82«\88È\8aO\82Í\8b\91\94Û
     if GetActiveList is TBoard then begin
@@ -7740,10 +7746,10 @@ begin
             // \94Â\82Ì\8e\9e\82Í\81A\83\8d\83O\83t\83H\83\8b\83_\82É\83R\83s\81[\82µ\82Ä\82Í\82®\82ê\83\8d\83O\91Î\89\9e\82Æ\93¯\82\8f\88\97\9d\81H
             datList := TStringList.Create;
             try
-                Cnt := DragQueryFile(Msg.Drop, $FFFFFFFF, FileName, SizeOf(FileName));
+                Cnt := DragQueryFile(Msg.WParam, $FFFFFFFF, FileName, SizeOf(FileName));
                 for K := 0 to Cnt - 1 do begin
-                    DragQueryFile(Msg.Drop, K, FileName, SizeOf(FileName));
-                    {FileName\82Édrop\82³\82ê\82½\83t\83@\83C\83\8b\96¼\82ª\93ü\82Á\82Ä\82¢\82é\82Ì\82Å\81A\82±\82±\82Å\89½\82ç\82©\82Ì\8f\88\97\9d\82ð\82·\82é\81B\82½\82Æ\82¦\82Î\8e\9f\82Ì\8ds}
+                    DragQueryFile(Msg.WParam, K, FileName, SizeOf(FileName));
+                    // FileName\82Édrop\82³\82ê\82½\83t\83@\83C\83\8b\96¼\82ª\93ü\82Á\82Ä\82¢\82é\82Ì\82Å\81A\82±\82±\82Å\89½\82ç\82©\82Ì\8f\88\97\9d\82ð\82·\82é\81B\82½\82Æ\82¦\82Î\8e\9f\82Ì\8ds
                     // \83t\83@\83C\83\8b\82Ì\83`\83F\83b\83N
                     if (isValidFile(FileName)) then begin
                         LogFolder := ExtractFilePath(Board.FilePath);
@@ -7763,7 +7769,7 @@ begin
                         end;
                     end;
                 end;
-                DragFinish(Msg.Drop);
+                DragFinish(Msg.WParam);
                 if (datList.Count > 0) then begin
                     GikoSys.AddOutofIndexDat(Board, datList, False);
                     ShowMessage(IntToStr(datList.Count) + '\8cÂ\82Ìdat\83t\83@\83C\83\8b\82ª\83R\83s\81[\82³\82ê\82Ü\82µ\82½\81B' );
@@ -7783,6 +7789,7 @@ begin
         ShowMessage('\94Â\82ð\95\\8e¦\82µ\82Ä\82­\82¾\82³\82¢\81B');
     end;
 end;
+
 //! \83t\83@\83C\83\8b\83`\83F\83b\83N
 function TGikoForm.isValidFile(FileName: String) : boolean;
 var
index e640093..a9b5d1e 100644 (file)
@@ -306,6 +306,7 @@ const
 // *************************************************************************
 constructor TGikoSys.Create;
 begin
+    Inherited;
        FSetting := TSetting.Create;
        FDolib := TDolib.Create;
        FAWKStr := TAWKStr.Create(nil);
@@ -356,13 +357,13 @@ begin
        finally
                FileList.Free;
        end;
-    FGikoMessage.Free;
-       FBayesian.Free;
-       FSelectResFilter.Free;
-       FAbon.Free;
-       FAWKStr.Free;
-       FDolib.Free;
-       FSetting.Free;
+    FreeAndNil(FGikoMessage);
+       FreeAndNil(FBayesian);
+       FreeAndNil(FSelectResFilter);
+       FreeAndNil(FAbon);
+       FreeAndNil(FAWKStr);
+       FreeAndNil(FDolib);
+       FreeAndNil(FSetting);
        inherited;
 end;
 
@@ -3472,7 +3473,6 @@ initialization
 
 finalization
        if GikoSys <> nil then begin
-               GikoSys.Free;
-               GikoSys := nil;
+               FreeAndNil(GikoSys);
        end;
 end.
index 5c777bc..8ba7bec 100644 (file)
@@ -1666,8 +1666,7 @@ initialization
 
 finalization
        if HTMLCreater <> nil then begin
-               HTMLCreater.Free;
-               HTMLCreater := nil;
+               FreeAndNil(HTMLCreater);
        end;
 
 end.
index 7b5a03d..1cd75da 100644 (file)
@@ -1,10 +1,10 @@
 object KuroutOption: TKuroutOption
-  Left = 322
-  Top = 172
+  Left = 323
+  Top = 173
   BorderStyle = bsDialog
   Caption = #35443#32048#35373#23450
-  ClientHeight = 417
-  ClientWidth = 511
+  ClientHeight = 422
+  ClientWidth = 509
   Color = clBtnFace
   Font.Charset = SHIFTJIS_CHARSET
   Font.Color = clWindowText
index 402249c..fc369ed 100644 (file)
@@ -3,8 +3,7 @@ unit MainForm;
 interface
 
 uses
-  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
-  Dialogs, StdCtrls, AppEvnts;
+  Windows, SysUtils, Classes, Controls, Forms;
 
 type
   TMainWindow = class(TForm)
index 8f35955..a913b37 100644 (file)
@@ -179,7 +179,6 @@ initialization
 finalization
        if MoveHisotryManager <> nil then begin
                MoveHisotryManager.clear;
-        MoveHisotryManager.Free;
-               MoveHisotryManager := nil;
+        FreeAndNil(MoveHisotryManager);
        end;
 end.
index dbde51c..d754136 100644 (file)
@@ -3,7 +3,7 @@ object NewBoardURLForm: TNewBoardURLForm
   Top = 189
   BorderStyle = bsDialog
   Caption = #26495#31227#36578#20808#26908#32034
-  ClientHeight = 271
+  ClientHeight = 280
   ClientWidth = 483
   Color = clBtnFace
   Font.Charset = SHIFTJIS_CHARSET
index f165de0..d7b30cd 100644 (file)
@@ -993,15 +993,15 @@ end;
 //\83f\83X\83g\83\89\83N\83^
 destructor TSetting.Destroy();
 begin
-    FSkinFiles.Free;
-       FGestures.Free;
-       FBoardColumnOrder.Free;
-       FCategoryColumnOrder.Free;
-       FBBSColumnOrder.Free;
-       FBoardURLs.Free;
-       FSelectTextList.Free;
-       FMailList.Free;
-       FNameList.Free;
+    FreeAndNil(FSkinFiles);
+       FreeAndNil(FGestures);
+       FreeAndNil(FBoardColumnOrder);
+       FreeAndNil(FCategoryColumnOrder);
+       FreeAndNil(FBBSColumnOrder);
+       FreeAndNil(FBoardURLs);
+       FreeAndNil(FSelectTextList);
+       FreeAndNil(FMailList);
+       FreeAndNil(FNameList);
        inherited;
 end;
 
index 0a08f23..e852c18 100644 (file)
@@ -4,8 +4,7 @@ interface
 
 uses
        Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
-       StdCtrls, ComCtrls, ExtCtrls,
-       GikoSystem;
+       StdCtrls, ComCtrls, ExtCtrls;
 
 type
        TSplashWindow = class(TForm)
@@ -28,6 +27,9 @@ var
 
 implementation
 
+uses
+    GikoSystem;
+
 {$R *.DFM}
 
 procedure TSplashWindow.CreateParams(var Params: TCreateParams);