Bất kỳ ý tưởng nào tại sao TToolbar với TToolButtons sẽ ngừng hiển thị chú thích nút sau một thời gian? Điều này xảy ra với tất cả các thanh công cụ trên các biểu mẫu được tạo tự động trên toàn bộ ứng dụng. Thanh công cụ trên các biểu mẫu được tạo động hoạt động tốt ngay cả sau khi sự cố này xảy ra.TToolbar ngừng hiển thị chú thích nút sau một lúc
Tôi chỉ thấy điều này xảy ra trên một sổ ghi chép Windows 7. Không có lỗi được nêu ra khi điều này xảy ra và tôi không thể tái tạo vấn đề trên lệnh. Giải pháp duy nhất là khởi động lại ứng dụng.
TToolbar.ShowCaptions luôn đúng và không bao giờ thay đổi. Điều này cũng hiển thị trên hình ảnh bên dưới vì các biểu tượng được căn chỉnh theo chiều dọc khi ShowCaptions là Sai.
Sự cố tương tự đã xảy ra trước đây trên PC Windows 8. Tuy nhiên, chú thích thời gian này đã được thay thế bằng văn bản khác.
EDIT:
tôi đã có thể tạo lại vấn đề bằng cách gọi TImageList.Change giữa 5-10k lần. Tôi chỉ có Delphi 2010, vì vậy tôi không thể nói nếu đây là một vấn đề Delphi hoặc Windows.
Đơn vị:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ImgList, ComCtrls, ToolWin, StdCtrls, Gauges;
type
TImageListHelper = class helper for TImageList
public
procedure DoChange;
end;
TForm1 = class(TForm)
ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
ToolButton7: TToolButton;
ToolButton8: TToolButton;
ToolButton9: TToolButton;
ToolButton10: TToolButton;
ImageList1: TImageList;
ProgressBar1: TProgressBar;
procedure ToolButton1Click(Sender: TObject);
private
public
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.ToolButton1Click(Sender: TObject);
begin
repeat
ImageList1.DoChange;
ProgressBar1.StepIt;
Self.Update;
until ProgressBar1.Position >= ProgressBar1.Max;
end;
procedure TImageListHelper.DoChange;
begin
Self.Change;
end;
end.
Mẫu:
object Form1: TForm1
Left = 0
Top = 0
Caption = 'Form1'
ClientHeight = 66
ClientWidth = 711
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
OldCreateOrder = False
Position = poScreenCenter
PixelsPerInch = 96
TextHeight = 13
object ToolBar1: TToolBar
Left = 0
Top = 0
Width = 711
Height = 41
ButtonHeight = 36
ButtonWidth = 71
Caption = 'ToolBar1'
Images = ImageList1
ShowCaptions = True
TabOrder = 0
ExplicitWidth = 885
object ToolButton1: TToolButton
Left = 0
Top = 0
Caption = 'ToolButton1'
ImageIndex = 0
OnClick = ToolButton1Click
end
object ToolButton2: TToolButton
Left = 71
Top = 0
Caption = 'ToolButton2'
ImageIndex = 0
end
object ToolButton3: TToolButton
Left = 142
Top = 0
Caption = 'ToolButton3'
ImageIndex = 0
end
object ToolButton4: TToolButton
Left = 213
Top = 0
Caption = 'ToolButton4'
ImageIndex = 0
end
object ToolButton5: TToolButton
Left = 284
Top = 0
Caption = 'ToolButton5'
ImageIndex = 0
end
object ToolButton6: TToolButton
Left = 355
Top = 0
Caption = 'ToolButton6'
ImageIndex = 0
end
object ToolButton7: TToolButton
Left = 426
Top = 0
Caption = 'ToolButton7'
ImageIndex = 0
end
object ToolButton8: TToolButton
Left = 497
Top = 0
Caption = 'ToolButton8'
ImageIndex = 0
end
object ToolButton9: TToolButton
Left = 568
Top = 0
Caption = 'ToolButton9'
ImageIndex = 0
end
object ToolButton10: TToolButton
Left = 639
Top = 0
Caption = 'ToolButton10'
ImageIndex = 0
end
end
object ProgressBar1: TProgressBar
Left = 0
Top = 49
Width = 711
Height = 17
Align = alBottom
Max = 10000
Step = 1
TabOrder = 1
ExplicitTop = 48
end
object ImageList1: TImageList
Left = 8
Top = 16
Bitmap = {
494C010101000500040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
0000000000003600000028000000400000001000000001002000000000000010
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
FF000000FF000000000000000000000000000000000000000000000000000000
FF000000FF000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
FF000000FF000000000000000000000000000000000000000000000000000000
FF000000FF000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000FF000000FF0000000000000000000000FF000000FF000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000FF000000FF0000000000000000000000FF000000FF000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000FF000000FF0000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000FF000000FF0000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000FF000000FF0000000000000000000000FF000000FF000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000FF000000FF0000000000000000000000FF000000FF000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
FF000000FF000000000000000000000000000000000000000000000000000000
FF000000FF000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
FF000000FF000000000000000000000000000000000000000000000000000000
FF000000FF000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000424D3E000000000000003E000000
2800000040000000100000000100010000000000800000000000000000000000
000000000000000000000000FFFFFF00FFFF000000000000FFFF000000000000
FFFF000000000000E7E7000000000000E7E7000000000000F99F000000000000
F99F000000000000FE7F000000000000FE7F000000000000F99F000000000000
F99F000000000000E7E7000000000000E7E7000000000000FFFF000000000000
FFFF000000000000FFFF00000000000000000000000000000000000000000000
000000000000}
end
end
Mùi giống như rò rỉ tài nguyên của một số loại. Hãy thử theo dõi số lượng đối tượng GDI. –
Nhiều khả năng, phụ đề được thay đổi khi chạy. Bạn có thể định nghĩa một điểm ngắt trên thuộc tính 'FCaption' của toolbutton hoặc - nếu nó tồn tại - trong phương thức' SetCaption'. –
@ RenéHoffmann Chú thích không bao giờ thay đổi. Ngay cả khi họ đã, điều này không nên ảnh hưởng đến toàn bộ ứng dụng. – mwore