OSDN Git Service

高速タブ切り替えのメモリ大食いの問題として、最新5つのスレッドのみ
authorh677 <h677>
Sat, 22 May 2004 11:34:24 +0000 (11:34 +0000)
committerh677 <h677>
Sat, 22 May 2004 11:34:24 +0000 (11:34 +0000)
Browserを持たせるように変更した。(多分まだバグ多め)

Giko.pas

index d4c25cc..b205b47 100644 (file)
--- a/Giko.pas
+++ b/Giko.pas
@@ -916,6 +916,8 @@ type
                FOldFormWidth           : Integer;                              // \92¼\91O\82Ì\83E\83B\83\93\83h\83E\82Ì\95\9d
                FToolBarSettingSender : TToolBarSettingSenderType;      // \83c\81[\83\8b\83o\81[\90Ý\92è\82ð\83N\83\8a\83b\83N\82µ\82½\83N\81[\83\8b\83o\81[
                FMouseDownPos           : TPoint;                               // \83u\83\89\83E\83U\83^\83u\82Å\83}\83E\83X\82ð\89\9f\82µ\82½\82Æ\82«\82Ì\8dÀ\95W
+               FNewBrowserCount: Integer;
+               FBrowsers: TList;
                procedure SetBoardTreeNode( inBBS : TBBS );
                function SetCategoryListItem(ABBS2ch: TBBS): Integer;
                function SetBoardListItem(Category: TCategory): Integer;
@@ -1190,6 +1192,7 @@ var
        i: Integer;
        wp: TWindowPlacement;
        s: string;
+       newbrowser: TWebBrowser;
 begin
 {$IFDEF DEBUG}
        AllocConsole;
@@ -1210,6 +1213,23 @@ begin
        FSearchDialog := nil;
        BrowserNullTab := TBrowserRecord.Create;
        BrowserNullTab.Browser := Browser;
+       FNewBrowserCount := 0;
+       FBrowsers := TList.Create;
+       for i := 0 to 4 do begin
+               newBrowser := TWebBrowser.Create(nil);
+               TOleControl(newBrowser).Parent := BrowserPanel;
+               TOleControl(newBrowser).Align := alClient;
+               newBrowser.Navigate(BLANK_HTML);
+               newBrowser.OnDocumentComplete   := BrowserDocumentComplete;
+               newBrowser.OnBeforeNavigate2    := BrowserBeforeNavigate2;
+               newBrowser.OnEnter                              := BrowserEnter;
+               newBrowser.OnNewWindow2                 := BrowserNewWindow2;
+               newBrowser.OnStatusTextChange   := BrowserStatusTextChange;
+               newBrowser.OnTitleChange                := BrowserTitleChange;
+               TOleControl(newBrowser).Visible := false;
+               FBrowsers.Add(newBrowser);
+       end;
+
        // \8bN\93®\8e\9e\82É\95Û\91\82³\82ê\82Ä\82µ\82Ü\82¤\91Î\8dô
        FIsIgnoreResize := True;
 
@@ -1789,7 +1809,6 @@ begin
 
        try
                //\83^\83u\83N\83\8d\81[\83Y
-
                BrowserNullTab.Thread := nil;
                BrowserTab.OnChange := nil;
                BrowserTab.Tabs.BeginUpdate;
@@ -1802,6 +1821,13 @@ begin
                BrowserTab.OnChange := BrowserTabChange;
        except
        end;
+
+       for i := FBrowsers.Count - 1 downto 0 do begin
+               TWebBrowser(FBrowsers[i]).Free;
+       end;
+       FBrowsers.Clear;
+       FBrowsers.Capacity := 0;
+       FBrowsers.Free;
        try
                if BrowserNullTab <> nil then begin
                        BrowserNullTab.Browser := nil;  {*BrowserNullTab\82ÌBrowser\82Í\90Ý\8cv\8e\9e\82É\93\\82è\95t\82¯\82Ä\82é\93z
@@ -3178,7 +3204,7 @@ end;}
 procedure TGikoForm.InsertBrowserTab(ThreadItem: TThreadItem; ActiveTab: Boolean = True);
 
 var
-       i: Integer;
+       i, j: Integer;
        favItem : TFavoriteThreadItem;
        newBrowser      : TBrowserRecord;
 begin
@@ -3204,43 +3230,40 @@ begin
                end;
 
                if GikoSys.Setting.BrowserTabAppend = gtaFirst then begin
-                       BrowserTab.Tabs.Insert(0, GikoSys.GetShortName(ThreadItem.Title, 20));
+                       //BrowserTab.Tabs.Insert(0, GikoSys.GetShortName(ThreadItem.Title, 20));
                        newBrowser := TBrowserRecord.Create;
-                       newBrowser.Browser := TWebBrowser.Create(nil);
-                       TOleControl(newBrowser.Browser).Parent := BrowserPanel;
-                       TOleControl(newBrowser.Browser).Align := alClient;
-                       newBrowser.Browser.OnDocumentComplete   := BrowserDocumentComplete;
-                       newBrowser.Browser.OnBeforeNavigate2    := BrowserBeforeNavigate2;
-                       newBrowser.Browser.OnEnter                              := BrowserEnter;
-                       newBrowser.Browser.OnNewWindow2                 := BrowserNewWindow2;
-                       newBrowser.Browser.OnStatusTextChange   := BrowserStatusTextChange;
-                       newBrowser.Browser.OnTitleChange                := BrowserTitleChange;
+                       for j := BrowserTab.Tabs.Count - 1 downto 0 do begin
+                               if TBrowserRecord(BrowserTab.Tabs.Objects[j]).FBrowser = TWebBrowser(FBrowsers[4]) then
+                                       TBrowserRecord(BrowserTab.Tabs.Objects[j]).FBrowser := nil;
+                       end;
+                       newBrowser.Browser := TWebBrowser(FBrowsers[4]);
+                       FBrowsers.Move(4, 0);
                        newBrowser.thread := ThreadItem;
                        newBrowser.Repaint := true;
                        newBrowser.OnlyHundred := GikoSys.OnlyAHundredRes;
                        newBrowser.Browser.Navigate( 'about:blank' );
-                       BrowserTab.Tabs.Objects[0] := newBrowser;
+                       BrowserTab.Tabs.InsertObject(0, GikoSys.GetShortName(ThreadItem.Title, 20), newBrowser);
+                       //BrowserTab.Tabs.Objects[0] := newBrowser;
                        if ActiveTab then begin
                                BrowserTab.TabIndex := 0;
                        end;
 
                end else begin
-                       i := BrowserTab.Tabs.Add(GikoSys.GetShortName(ThreadItem.Title, 20));
+                       //i := BrowserTab.Tabs.Add(GikoSys.GetShortName(ThreadItem.Title, 20));
+                       //Inc(FNewBrowserCount);
                        newBrowser := TBrowserRecord.Create;
-                       newBrowser.Browser := TWebBrowser.Create(nil);
-                       TOleControl(newBrowser.Browser).Parent := BrowserPanel;
-                       TOleControl(newBrowser.Browser).Align := alClient;
-                       newBrowser.Browser.OnDocumentComplete   := BrowserDocumentComplete;
-                       newBrowser.Browser.OnBeforeNavigate2    := BrowserBeforeNavigate2;
-                       newBrowser.Browser.OnEnter                              := BrowserEnter;
-                       newBrowser.Browser.OnNewWindow2                 := BrowserNewWindow2;
-                       newBrowser.Browser.OnStatusTextChange   := BrowserStatusTextChange;
-                       newBrowser.Browser.OnTitleChange                := BrowserTitleChange;
+                       for j := BrowserTab.Tabs.Count - 1 downto 0 do begin
+                               if TBrowserRecord(BrowserTab.Tabs.Objects[j]).FBrowser = TWebBrowser(FBrowsers[4]) then
+                                       TBrowserRecord(BrowserTab.Tabs.Objects[j]).FBrowser := nil;
+                       end;
+                       newBrowser.Browser := TWebBrowser(FBrowsers[4]);
+                       FBrowsers.Move(4, 0);
                        newBrowser.thread := ThreadItem;
                        newBrowser.OnlyHundred := GikoSys.OnlyAHundredRes;
                        newBrowser.Repaint := true;
                        newBrowser.Browser.Navigate( 'about:blank' );
-                       BrowserTab.Tabs.Objects[i] := newBrowser;
+                       i := BrowserTab.Tabs.AddObject(GikoSys.GetShortName(ThreadItem.Title, 20), newBrowser);
+                       //BrowserTab.Tabs.Objects[i] := newBrowser;
                        if ActiveTab then begin
                                BrowserTab.TabIndex := i;
                        end;
@@ -3280,9 +3303,10 @@ var
 begin
        if inThread = nil then
        begin
-               Thread := TBrowserRecord.Create;
-               Thread.Browser := Browser;
-               Thread.Thread := nil;
+               //Thread := TBrowserRecord.Create;
+               //Thread.Browser := Browser;
+               //Thread.Thread := nil;
+               Exit;
        end else begin
                Thread := inThread;
        end;
@@ -3294,7 +3318,7 @@ begin
                try
                        Sleep(1);
                        //Application.ProcessMessages;
-                       FActiveContent.Thread.ScrollTop := OleVariant(IHTMLDocument2(FActiveContent.Browser.Document)).Body.ScrollTop;
+                       FActiveContent.Thread.ScrollTop := OleVariant(IHTMLDocument2(FActiveContent.Browser.Document).Body).ScrollTop;
                        if FActiveContent.Browser <> BrowserNullTab.Browser then
                                TOleControl(FActiveContent.Browser).Visible := false;
                except
@@ -3332,6 +3356,7 @@ begin
 
        Screen.Cursor := crHourGlass;
        try
+        ToleControl(Thread.FBrowser).Visible := true;
                if ThreadItem.UnRead then begin
                        ThreadItem.ParentBoard.UnRead := ThreadItem.ParentBoard.UnRead - 1;
                        if ThreadItem.ParentBoard.UnRead < 0 then ThreadItem.ParentBoard.UnRead := 0;
@@ -3358,9 +3383,10 @@ begin
                        //Thread.Repaint\82Í\81A\83X\83L\83\93\93\99\82Ì\90Ý\92è\82ð\95Ï\8dX\82µ\82½\82Æ\82«\81AThread\82ð\83_\83E\83\93\83\8d\81[\83h\82µ\82½\82Æ\82«
                        //\90V\8bK\82ÉThread\82ð\8aJ\82¢\82½\82Æ\82«\82É\90^\82É\82È\82Á\82Ä\82¢\82é\81B
                        if(Thread.Repaint) or (Thread.OnlyHundred <> GikoSys.OnlyAHundredRes)then begin
-                               Thread.LastSize := ThreadItem.Size;
+                               //Thread.LastSize := ThreadItem.Size;
                                Thread.Repaint := false;
                                try
+                                       Application.ProcessMessages;
                                        doc := Idispatch( olevariant(Thread.Browser.ControlInterface).Document) as IHTMLDocument2;
                                        GikoSys.CreateHTML2(doc, ThreadItem, sTitle);
                                        Thread.OnlyHundred := GikoSys.OnlyAHundredRes;
@@ -3425,7 +3451,7 @@ end;
 
 function TGikoForm.GetActiveContent: TThreadItem;
 begin
-       if FActiveContent <> nil then
+       if( FActiveContent <> nil) and (FActiveContent.Thread <> nil)then
                Result := FActiveContent.Thread
        else
                Result := nil;
@@ -5186,9 +5212,10 @@ begin
 end;
 procedure TGikoForm.DeleteTab(BrowserRecord: TBrowserRecord);
 var
-       i: Integer;
+       i, j, idx: Integer;
        doc: Variant;
 begin
+       idx := BrowserTab.TabIndex;
        FTabHintIndex := -1;
        for i := 0 to BrowserTab.Tabs.Count - 1 do begin
                if TBrowserRecord(BrowserTab.Tabs.Objects[i]) = BrowserRecord then begin
@@ -5200,16 +5227,36 @@ begin
                                TBrowserRecord(BrowserTab.Tabs.Objects[i]).Thread.ScrollTop := 0;
                        end;
                        if( FActiveContent = TBrowserRecord(BrowserTab.Tabs.Objects[i]) ) then
-               FActiveContent := nil;
+                               FActiveContent := nil;
+                       if TBrowserRecord(BrowserTab.Tabs.Objects[i]).Browser <> nil then begin
+                               j := FBrowsers.IndexOf(TBrowserRecord(BrowserTab.Tabs.Objects[i]).Browser);
+                               if j <> -1 then
+                                       FBrowsers.Move(j, 4);
+                       end;
                        TBrowserRecord(BrowserTab.Tabs.Objects[i]).Free;
                        BrowserTab.Tabs.Delete(i);
-                       if i > (BrowserTab.Tabs.Count - 1) then
+                       if idx > (BrowserTab.Tabs.Count - 1) then
                                BrowserTab.TabIndex := BrowserTab.Tabs.Count - 1
                        else
-                               BrowserTab.TabIndex := i;
+                               BrowserTab.TabIndex := idx;
                        if BrowserTab.Tabs.Count = 0 then begin
                                BrowserNullTab.Thread := nil;
                        end;
+                       if(BrowserTab.TabIndex <> -1) and
+                               ( TBrowserRecord(BrowserTab.Tabs.Objects[BrowserTab.TabIndex]).Browser = nil) then begin
+                               for j := BrowserTab.Tabs.Count - 1 downto 0 do begin
+                                       if(TBrowserRecord(BrowserTab.Tabs.Objects[j]).Browser
+                                                = TWebBrowser(FBrowsers[4]) )then
+                                       begin
+                                               TBrowserRecord(BrowserTab.Tabs.Objects[j]).Browser := nil;
+                                               break;
+                                       end;
+                               end;
+                               TBrowserRecord(BrowserTab.Tabs.Objects[BrowserTab.TabIndex]).Browser
+                                        :=  TWebBrowser(FBrowsers[4]);
+                               TBrowserRecord(BrowserTab.Tabs.Objects[BrowserTab.TabIndex]).Repaint := true;
+                               FBrowsers.Move(4, 0);
+                       end;
                        BrowserTab.Tabs.EndUpdate;
                        BrowserTab.OnChange(nil);
                        Exit;
@@ -5218,9 +5265,10 @@ begin
 end;
 procedure TGikoForm.DeleteTab(ThreadItem: TThreadItem);
 var
-       i: Integer;
+       i, j, idx: Integer;
        doc: Variant;
 begin
+       idx := BrowserTab.TabIndex;
        FTabHintIndex := -1;
        for i := 0 to BrowserTab.Tabs.Count - 1 do begin
                if TBrowserRecord(BrowserTab.Tabs.Objects[i]).Thread = ThreadItem then begin
@@ -5233,15 +5281,36 @@ begin
                        end;
                        if(FActiveContent = TBrowserRecord(BrowserTab.Tabs.Objects[i])) then
                FActiveContent := nil;
+                       if TBrowserRecord(BrowserTab.Tabs.Objects[i]).Browser <> nil then begin
+                               j := FBrowsers.IndexOf(TBrowserRecord(BrowserTab.Tabs.Objects[i]).Browser);
+                               if j <> -1 then
+                                       FBrowsers.Move(j, 4);
+                       end;
                        TBrowserRecord(BrowserTab.Tabs.Objects[i]).Free;
                        BrowserTab.Tabs.Delete(i);
-                       if i > (BrowserTab.Tabs.Count - 1) then
+                       if idx > (BrowserTab.Tabs.Count - 1) then
                                BrowserTab.TabIndex := BrowserTab.Tabs.Count - 1
                        else
-                               BrowserTab.TabIndex := i;
+                               BrowserTab.TabIndex := idx;
                        if BrowserTab.Tabs.Count = 0 then begin
                                BrowserNullTab.Thread := nil;
                        end;
+                       if(BrowserTab.TabIndex <> -1) and
+                               ( TBrowserRecord(BrowserTab.Tabs.Objects[BrowserTab.TabIndex]).Browser = nil) then begin
+                               for j := BrowserTab.Tabs.Count - 1 downto 0 do begin
+                                       if(TBrowserRecord(BrowserTab.Tabs.Objects[j]).Browser
+                                                = TWebBrowser(FBrowsers[4]) )then
+                                       begin
+                                               TBrowserRecord(BrowserTab.Tabs.Objects[j]).Browser := nil;
+                                               break;
+                                       end;
+                               end;
+                               TBrowserRecord(BrowserTab.Tabs.Objects[BrowserTab.TabIndex]).Browser
+                                        :=  TWebBrowser(FBrowsers[4]);
+                               TBrowserRecord(BrowserTab.Tabs.Objects[BrowserTab.TabIndex]).Repaint := true;
+                               FBrowsers.Move(4, 0);
+                       end;
+
                        BrowserTab.Tabs.EndUpdate;
                        BrowserTab.OnChange(nil);
                        Exit;
@@ -5796,6 +5865,7 @@ end;
 
 procedure TGikoForm.BrowserTabChange(Sender: TObject);
 var
+       i, j: Integer;
        idx: Integer;
        ThreadItem: TThreadItem;
 begin
@@ -5811,7 +5881,21 @@ begin
                        SetContent(BrowserNullTab);
 
                end else if(BrowserTab.Tabs.Objects[idx] <> nil) and (BrowserTab.Tabs.Objects[idx] is TBrowserRecord) then begin
+                       if TBrowserRecord(BrowserTab.Tabs.Objects[idx]).Browser <> nil then begin
+                               j := FBrowsers.IndexOf(TBrowserRecord(BrowserTab.Tabs.Objects[idx]).Browser);
+                               if j <> -1 then
+                                       FBrowsers.Move(j ,0);
+                       end else begin
+                               for i := 0 to BrowserTab.Tabs.Count - 1 do begin
+                                       if TBrowserRecord(BrowserTab.Tabs.Objects[i]).Browser = TWebBrowser(FBrowsers[4]) then
+                                               TBrowserRecord(BrowserTab.Tabs.Objects[i]).Browser := nil;
+                               end;
+                               TBrowserRecord(BrowserTab.Tabs.Objects[idx]).Browser := TWebBrowser(FBrowsers[4]);
+                TBrowserRecord(BrowserTab.Tabs.Objects[idx]).Repaint := true;
+                               FBrowsers.Move(4, 0);
+                       end;
                        ThreadItem := TBrowserRecord(BrowserTab.Tabs.Objects[idx]).Thread;
+            TOleControl(TBrowserRecord(BrowserTab.Tabs.Objects[idx]).Browser).BringToFront;
                        GikoSys.OnlyAHundredRes := TBrowserRecord(BrowserTab.Tabs.Objects[idx]).OnlyHundred;
                        OnlyAHundredRes.Checked := TBrowserRecord(BrowserTab.Tabs.Objects[idx]).OnlyHundred;
                        SetContent(TBrowserRecord(BrowserTab.Tabs.Objects[idx]));
@@ -5858,16 +5942,22 @@ begin
                if idx <> -1 then begin
                        OldIndex := BrowserTab.TabIndex;
                        DeleteTab(TBrowserRecord(BrowserTab.Tabs.Objects[idx]));
-                       if idx = OldIndex then begin
+                       {if idx = OldIndex then begin
                                if BrowserTab.Tabs.Count > idx then
                                        BrowserTab.TabIndex := idx
                                else if BrowserTab.Tabs.Count = idx then
                                        BrowserTab.TabIndex := idx - 1
                                else if BrowserTab.Tabs.Count > 0 then
                                        BrowserTab.TabIndex := 0;
+                               if TBrowserRecord(BrowserTab.Tabs.Objects[BrowserTab.TabIndex]).Browser = nil then begin
+                                       TBrowserRecord(BrowserTab.Tabs.Objects[BrowserTab.TabIndex]).Browser
+                                                       := TWebBrowser(FBrowsers[4]);
+                                       FBrowsers.Move(4, 0);
+                               end;
                                BrowserTab.OnChange(nil);
 
                        end;
+                       }
                end;
        //end else if Button = mbRight then begin
        //PopupMenu\82ÅBrowserTabPoupMenu\82ð\8ew\92è\82µ\82Ä\82¢\82é\82Ì\82Å\82±\82±\82Å\82í\82´\82í\82´\8cÄ\82Ñ\8fo\82·\82Æ\82Q\8fd\82É\82È\82é
@@ -6025,7 +6115,7 @@ begin
                        FBrowserComplete := True;
                        if BrowserRecord.FEvent <> nil then
                                BrowserRecord.FEvent.Free;
-                       FDispHtmlDocument := BrowserRecord.Browser.Document as DispHTMLDocument;
+                       FDispHtmlDocument := Idispatch(OleVariant(BrowserRecord.Browser.ControlInterface).Document) as DispHTMLDocument;
                        BrowserRecord.FEvent := THTMLDocumentEventSink.Create(Self, FDispHtmlDocument, HTMLDocumentEvents2);
                        BrowserRecord.FEvent.OnContextMenu := OnDocumentContextMenu;
                end;
@@ -8344,10 +8434,14 @@ end;
 procedure TGikoForm.ReloadClick(Sender: TObject);
 var
        ThreadItem : TThreadItem;
+       i: Integer;
 begin
        if GikoSys.FAbon.ReLoadFromNGwordFile =false then begin
                MsgBox(Handle, 'NG\83\8f\81[\83h\83t\83@\83C\83\8b\82Ì\8dÄ\93Ç\82Ý\8d\9e\82Ý\82É\8e¸\94s\82µ\82Ü\82µ\82½', '\83G\83\89\81[', MB_OK or MB_ICONEXCLAMATION);
        end else begin
+               for i := BrowserTab.Tabs.Count - 1 downto 0 do
+                       TBrowserRecord(BrowserTab.Tabs.Objects[i]).Repaint := true;
+                       
                ThreadItem := GetActiveContent;
                if ThreadItem <> nil then
                        InsertBrowserTab( ThreadItem, True );
@@ -8359,6 +8453,7 @@ procedure TGikoForm.GoBackClick(Sender: TObject);
 var
        ThreadItem : TThreadItem;
        s: string;
+       i: Integer;
 begin
        if GikoSys.FAbon.GoForward =false then begin
                MsgBox(Handle, '\88ê\82Â\91O\82ÌNG\83\8f\81[\83h\83t\83@\83C\83\8b\82Ì\93Ç\82Ý\8d\9e\82Ý\82É\8e¸\94s\82µ\82Ü\82µ\82½', '\83G\83\89\81[', MB_OK or MB_ICONEXCLAMATION);
@@ -8367,6 +8462,9 @@ begin
                StatusBar.Panels.Items[2].Text := s;
                StatusBar.Panels[2].Width := Max(StatusBar.Canvas.TextWidth(s), 100);
                StatusBarResize(Sender);
+               for i := BrowserTab.Tabs.Count - 1 downto 0 do
+                       TBrowserRecord(BrowserTab.Tabs.Objects[i]).Repaint := true;
+
                ThreadItem := GetActiveContent;
                if ThreadItem <> nil then
                        InsertBrowserTab( ThreadItem, True );
@@ -8378,6 +8476,7 @@ procedure TGikoForm.GoFowardClick(Sender: TObject);
 var
        ThreadItem : TThreadItem;
        s: string;
+       i: Integer;
 begin
        if GikoSys.FAbon.GoBack =false then begin
                MsgBox(Handle, '\88ê\82Â\8cã\82ë\82ÌNG\83\8f\81[\83h\83t\83@\83C\83\8b\82Ì\93Ç\82Ý\8d\9e\82Ý\82É\8e¸\94s\82µ\82Ü\82µ\82½', '\83G\83\89\81[', MB_OK or MB_ICONEXCLAMATION);
@@ -8386,6 +8485,9 @@ begin
                StatusBar.Panels.Items[2].Text := s;
                StatusBar.Panels[2].Width := Max(StatusBar.Canvas.TextWidth(s), 100);
                StatusBarResize(Sender);
+               for i := BrowserTab.Tabs.Count - 1 downto 0 do
+                       TBrowserRecord(BrowserTab.Tabs.Objects[i]).Repaint := true;
+
                ThreadItem := GetActiveContent;
                if ThreadItem <> nil then
                        InsertBrowserTab( ThreadItem, True );
@@ -9915,10 +10017,11 @@ begin
                if Self.Thread <> nil then begin
                        doc := Idispatch( olevariant(Self.FBrowser.ControlInterface).Document) as IHTMLDocument2;
                        Self.Thread.ScrollTop := doc.Body.ScrollTop;
-                       doc.clear;
+                       //doc.clear;
                end;
-               Self.FBrowser.Free;
+               //Self.FBrowser.Free;
        end;
+
 end;
 
 procedure TGikoForm.ThreadPanelResize(Sender: TObject);
@@ -9926,13 +10029,14 @@ var
        idx     : Integer;
        rec     : TBrowserRecord;
 begin
-       idx := BrowserTab.TabIndex;
+{      idx := BrowserTab.TabIndex;
        if idx >= 0 then begin
                if BrowserTab.Tabs.Objects[ idx ] is TBrowserRecord then begin
                        rec := TBrowserRecord( BrowserTab.Tabs.Objects[ idx ] );
                        SetWindowPos( rec.Browser.Handle, HWND_TOPMOST, 0, 0, BrowserPanel.Width, BrowserPanel.Height, SWP_NOACTIVATE or SWP_NOZORDER);
                end;
        end;
+}
 end;
 
 procedure TGikoForm.OnlyAHundredResUpdate(Sender: TObject);