ich hänge gerade am selben problem.
ich habe ein pagecontrol und diesem verpasse ich per klick neue tabs MIT listview drauf:
Delphi-Quellcode:
procedure TForm1.NeueProfilgruppe1Click(Sender: TObject);
var
aListView: TListView;
aTabSheet: TTabSheet;
aItem: TListItem;
begin
sGroupName := 'test';
aTabSheet := TTabSheet.Create(Self);
aTabSheet.PageControl := PageControl1;
aTabSheet.Parent := PageControl1;
aTabSheet.Caption := sGroupName;
PageControl1.ActivePage := aTabSheet;
aListView := TListView.Create(Self);
aListView.Parent := aTabSheet;
aListView.Align := lv1.Align;
aListView.Name := 'lv' + IntToStr(PageControl1.PageCount);
aListView.BorderWidth := lv1.BorderWidth;
aListView.LargeImages := lv1.LargeImages;
aListView.SmallImages := lv1.SmallImages;
aItem := aListView.Items.Add;
aItem.Caption := sGroupName;
// lv1 ist eine ListView
end;
das funktioniert alles. aber folgendes nicht mehr:
Delphi-Quellcode:
// aCurrentListView := TListView;
procedure TForm1.PageControl1Change(Sender: TObject);
begin
aCurrentListView := PageControl1.ActivePage.FindComponent('lv' + IntToStr(PageControl1.ActivePageIndex + 1)) as TListView;
if Assigned(aCurrentListView) then
showmessage(aCurrentListView.Name); // hier kommt er NIE hin
end;
dementsprechend fällen alle operationen die mit aCurrentListView zu tun haben fehl.