Witam mam nowy problem po rozwiązaniu poprzedniego, a mianowicie mam dynamicznie utworzony komponent TToolBar (jego Name zostało załadowane z pliku, zakładamy że jest to "Standard") i na nim chcę utworzyć dynamicznie przycisk no i wszystko fajnie tylko jak mam:
var
i:Integer;
CurBTN: TToolButton;
ToolTabName, Image, Name, Text: String;
begin
debuglog.Lines.Add('//Rozpoczęto ładowanie przycisków');
if BTNListBox.ItemIndex = 0 then debuglog.Lines.Add('Nie istnieje lista ładowania przycisków.') else begin
for i:=0 to BTNListBox.Count - 1 do
begin
INI := TINIFile.Create(ExtractFilePath(Application.ExeName) + 'Package\BTN\'+BTNListBox.Items[i]);
try
debuglog.Lines.Add('!>Ładowanie danych o przycisku');
ToolTabName:=ini.ReadString('ToolTab','ToolTab' ,ToolTabName);
Image:=ini.ReadString('BUTTON','Image' ,Image);
Name:=ini.ReadString('BUTTON','Name' ,Name);
Text:=ini.ReadString('BUTTON','Text' ,Text);
debuglog.Lines.Add('Załadowano przycisk o danych:');
debuglog.Lines.Add(' @ToolTabName: '+ToolTabName);
debuglog.Lines.Add(' @Nazwa BTN: '+Name);
debuglog.Lines.Add(' @Text Fukcji: '+Text);
debuglog.Lines.Add(' @ID obrazka: '+Image);
// BTNImg.InsertIcon(StrToInt(Image),Ticon(ExtractFilePath(Application.ExeName) + 'Package\BTN\'+Image+'.bmp'));
CurBTN:=TToolButton.Create(Self);
debuglog.Lines.Add('Stworzonio przycisk');
debuglog.Lines.Add(' >Dodawanie TToolButton do Parent o naziwe: '+ToolTabName);
CurBTN.Parent.Name:=ToolTabName;
debuglog.Lines.Add(' >Dodno');
CurBTN.Caption:=Text;
debuglog.Lines.Add('Dodano Text: '+Text);
CurBTN.OnClick:=BTNOnClick;
debuglog.Lines.Add('Dodano funkcje przycisku');
// CurBTN.ImageIndex:=StrToInt(Image);
debuglog.Lines.Add('!>przycisk utworzony');
finally
INI.Free;
end;
end;
end;
debuglog.Lines.Add('//Zakończono ładowanie przycisków');
end;
To wywala błąd ale aplikacja po uruchomieniu a nie debuger delphi, napisałem sobie taki mały wew. debuger to mi pokazał:
//Rozpoczęto ładowanie KART.
Dodano TTabSheet o Tytule: Standard
Dodano TToolBar o nazwie: Standard i tytule:Standard
Dodano TTabSheet o Tytule: Funkcje
Dodano TToolBar o nazwie: Funkcje i tytule:Funkcje
Dodano TTabSheet o Tytule: Markery
Dodano TToolBar o nazwie: Markery i tytule:Markery
//Zakończono ładowanie KART
//Rozpoczęto ładowanie przycisków
!>Ładowanie danych o przycisku
Załadowano przycisk o danych:
@ToolTabName: Standard
@Nazwa BTN: delete
@Text Fukcji: del
@ID obrazka: 0
Stworzonio przycisk
>Dodawanie TToolButton do Parent o naziwe: Standard
i zacina się przy ustalaniu gdzie ma się znajdować przycisk. Ale jak dałem nazwę istniejącego komponentu ToolBarTEST zamiaste ToolTabName to działa poprawnie.
Nie mam pomysłu jak rozwiązać ten problem...