Ĺadny brzuch
Witam :)
jak właściwie dodać SubItem?
próbowałem na parę sposobów i w żadnym nie wychodzi :blink:
próbowałem szukać przez wyszukiwarkę ale nic nie ma :|
Item.Add(Subitem);
chwila bo nie czaje ^^
ListView1.Item.Add(text);
coś takiego ma być? tlyko że to się nie kompiluje :lol:
wcześniej jakoś tak zrobiłem, że dodawało, ale pierwsze pole zostawało puste :|
teraz to już nie pamiętam jak wtedy zrobiłem :blink:
var vItem: TListItem; begin vItem := ListView1.Items.Ad; vItem.caption := 'tresc w pierwszej kolumnie'; vItem.SubItems.Add('tresc w drugiej kolumnie); vItem.SubItems.Add('tresc w n-tej kolumnie); end;
vItem := ListView1.Items.Add; vItem.caption := HGG1.Users.User[i].Name; vItem.SubItems.Add(HGG1.Users.User[i].Name); vItem.SubItems.Add(HGG1.Users.User[i].Name);
wyskakuje acces violation a oprócz tego jeszcze dwa komunikaty przy kompilacji:
[Warning] gadula1.pas(209): FOR-Loop variable 'i' may be undefined after loop
[Warning] gadula1.pas(209): Variable 'vItem' might not have been initialized
Try
vItem:= TlistItem.Create; vItem := ListView1.Items.Add; vItem.caption := HGG1.Users.User[i].Name; vItem.SubItems.Add(HGG1.Users.User[i].Name); vItem.SubItems.Add(HGG1.Users.User[i].Name);
vItem:= TlistItem.Create;
[Error] gadula1.pas(208): Not enough actual parameters
myślałem, że to jest prostsze.... :blink:
vItem:= TlistItem.Create;
myślałem, że to jest prostsze.... :blink:
podaj ownera w konstruktorze
podaj ownera w konstruktorze
yyyy że co mam podać i w czym? dopiero uczę się delphi :D
Nie ma potrzeby wywoływania konstruktora dla typu TListItem; Skopałeś coś gdzieś indziej. Nie podawaj nam tu fragmentu kodu takiego jaki ty masz, bo i tak nie wiemy o co chodzi. Dla przykładu:
procedure TForm1.Button1Click(Sender: TObject); var vItem: TListItem; i: integer; begin for i := 0 to 99 do //dodamy 100 items'ów begin vItem := ListView1.Items.Add; vItem.Caption := 'Kolumna 1, linijka '+ Inttostr(Succ(i)); vItem.SubItems.Add('Kolumna 2, linijka '+ Inttostr(Succ(i))); vItem.SubItems.Add('Kolumna 3, linijka '+ Inttostr(Succ(i))); end; end;
Powinno działać bez zarzutu, wiec Twój AccessViolation wynika z czegoś zupełnie innego.
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
jak właściwie dodać SubItem?
próbowałem na parę sposobów i w żadnym nie wychodzi :blink:
próbowałem szukać przez wyszukiwarkę ale nic nie ma :|
Item.Add(Subitem);
chwila bo nie czaje ^^
ListView1.Item.Add(text);
coś takiego ma być? tlyko że to się nie kompiluje :lol:
wcześniej jakoś tak zrobiłem, że dodawało, ale pierwsze pole zostawało puste :|
teraz to już nie pamiętam jak wtedy zrobiłem :blink:
var vItem: TListItem; begin vItem := ListView1.Items.Ad; vItem.caption := 'tresc w pierwszej kolumnie'; vItem.SubItems.Add('tresc w drugiej kolumnie); vItem.SubItems.Add('tresc w n-tej kolumnie); end;
vItem := ListView1.Items.Add; vItem.caption := HGG1.Users.User[i].Name; vItem.SubItems.Add(HGG1.Users.User[i].Name); vItem.SubItems.Add(HGG1.Users.User[i].Name);
wyskakuje acces violation a oprócz tego jeszcze dwa komunikaty przy kompilacji:
[Warning] gadula1.pas(209): FOR-Loop variable 'i' may be undefined after loop
[Warning] gadula1.pas(209): Variable 'vItem' might not have been initialized
Try
vItem:= TlistItem.Create; vItem := ListView1.Items.Add; vItem.caption := HGG1.Users.User[i].Name; vItem.SubItems.Add(HGG1.Users.User[i].Name); vItem.SubItems.Add(HGG1.Users.User[i].Name);
vItem:= TlistItem.Create;
[Error] gadula1.pas(208): Not enough actual parameters
myślałem, że to jest prostsze.... :blink:
vItem:= TlistItem.Create;
myślałem, że to jest prostsze.... :blink:
podaj ownera w konstruktorze
podaj ownera w konstruktorze
yyyy że co mam podać i w czym? dopiero uczę się delphi :D
Nie ma potrzeby wywoływania konstruktora dla typu TListItem; Skopałeś coś gdzieś indziej. Nie podawaj nam tu fragmentu kodu takiego jaki ty masz, bo i tak nie wiemy o co chodzi. Dla przykładu:
procedure TForm1.Button1Click(Sender: TObject); var vItem: TListItem; i: integer; begin for i := 0 to 99 do //dodamy 100 items'ów begin vItem := ListView1.Items.Add; vItem.Caption := 'Kolumna 1, linijka '+ Inttostr(Succ(i)); vItem.SubItems.Add('Kolumna 2, linijka '+ Inttostr(Succ(i))); vItem.SubItems.Add('Kolumna 3, linijka '+ Inttostr(Succ(i))); end; end;
Powinno działać bez zarzutu, wiec Twój AccessViolation wynika z czegoś zupełnie innego.