OSDN Git Service

終了時のAccessViolationの原因は、メッセージが2回でるらしく、
authorh677 <h677>
Mon, 5 Apr 2004 10:27:29 +0000 (10:27 +0000)
committerh677 <h677>
Mon, 5 Apr 2004 10:27:29 +0000 (10:27 +0000)
CloseQueryが2回呼ばれるため。そこで、CloseQueryは最小限にして、
修了処理をDestoryに移した。

Giko.dfm
Giko.pas

index 3d39cc3..02ba117 100644 (file)
--- a/Giko.dfm
+++ b/Giko.dfm
@@ -19,6 +19,7 @@ object GikoForm: TGikoForm
   OnClose = FormClose
   OnCloseQuery = FormCloseQuery
   OnCreate = FormCreate
+  OnDestroy = FormDestroy
   OnKeyUp = FormKeyUp
   OnMouseWheel = FormMouseWheel
   OnResize = FormResize
index 98d13c3..46e743a 100644 (file)
--- a/Giko.pas
+++ b/Giko.pas
@@ -1668,10 +1668,6 @@ begin
 end;
 
 procedure TGikoForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
-var
-       i: Integer;
-//     CoolSet: TCoolSet;
-       wp: TWindowPlacement;
 begin
        if ( GikoSys.Setting.ShowDialogForEnd ) and
                        (MessageDlg('\83M\83R\83i\83r\82ð\8fI\97¹\82µ\82Ä\82æ\82ë\82µ\82¢\82Å\82·\82©\81H', mtConfirmation,[mbOk, mbCancel], 0) = mrCancel ) then begin
@@ -1680,6 +1676,17 @@ begin
        end else begin
                CanClose := True;
        end;
+       //Application.HookMainWindow(Hook);
+       Application.UnhookMainWindow(Hook);
+       Application.Terminate;
+end;
+
+procedure TGikoForm.FormDestroy(Sender: TObject);
+var
+       i: Integer;
+//     CoolSet: TCoolSet;
+       wp: TWindowPlacement;
+begin
 //     Application.OnDeactivate := nil;
 //     Self.OnDeactivate := nil;
        try
@@ -1842,13 +1849,6 @@ begin
                end;
        except
        end;
-       //Application.HookMainWindow(Hook);
-       Application.UnhookMainWindow(Hook);
-       Application.Terminate;
-end;
-
-procedure TGikoForm.FormDestroy(Sender: TObject);
-begin
 
 end;
 
@@ -1856,18 +1856,6 @@ end;
 procedure TGikoForm.FormClose(Sender: TObject; var Action: TCloseAction);
 begin
 end;
-{
-//procedure TGikoForm.FormClose(Sender: TObject; var Action: TCloseAction);
-//begin
-//end;
-//    ListCoolBar.WindowProc := nil;
-//    BrowserCoolBar.WindowProc := nil;
-//    MainCoolBar.WindowProc := nil;
-//     Application.Terminate;
-//     Action := caFree;
-//     Application.UnhookMainWindow(Hook);
-
-}
 //\83L\83\83\83r\83l\83b\83g\81~\83{\83^\83\93\83N\83\8a\83b\83N
 procedure TGikoForm.CabinetPanelHide(Sender: TObject);
 begin
@@ -3691,9 +3679,13 @@ begin
                        SetBoardTreeNode( inBBS );
                        TreeView.TopItem.Expanded := True;                              //\83c\83\8a\81[\83g\83b\83v\8d\80\96Ú\82¾\82¯\82ð\8aJ\82­
                        //\83c\83\8a\81[\82Ì\83g\83b\83v\8d\80\96Ú\82ð\91I\91ð\82·\82é
-                       if GetActiveList = nil then
-                               TreeClick( TreeView.Items[0] )
-                       else begin
+                       if GetActiveList = nil then begin
+                try
+                       TreeClick( TreeView.Items[0] );
+                except
+                end;
+
+                       end else begin
                                for i := 0 to TreeView.Items.Count - 1 do begin
                                        if TreeView.Items[i].Data = GetActiveList then begin
                                                TreeClick( TreeView.Items[i] );