Einzelnen Beitrag anzeigen

Marco Steinebach

Registriert seit: 4. Aug 2006
502 Beiträge
 
Delphi 5 Enterprise
 
#5

AW: TListView - aktivieren einiger Checkboxen verhindern

  Alt 25. Sep 2019, 12:12
Hallo Frühlingsrolle,
dein Code sieht ähnlich aus wie meiner, ich bin nur nicht auf's item.listview.checkboxes gekommen.
Aaaber
Ich kriege eine Windows-Schutzverletzung, und hab keine Ahnung warum, beim
Code:
  item.checked := false
Ich hab natürlich geschaut, Item ist nicht nil, also keine Idee, undzweitens wird das Event, gefühlt, 20 mal aufgerufen, wenn man die Liste durchläuft.
Ich hab den Code, nur zum Testen, mal abgewandelt:
Code:
procedure TAnwendereigenschaftenFormular.liModuleChanging(Sender: TObject;
  Item: TListItem; Change: TItemChange; var AllowChange: Boolean);
begin
  if (change = ctState) and item.listview.checkboxes then
  begin
    if item.index = 3 then // wie gesagt, nur zum testen...
    begin
      item.checked := false; // und genau hier knallt's
      allowChange := false;
       infobox ('onChanging!'); // nur 'ne verkapsele MsgBox
      end;
  end;
end;
Mir ist nicht klar, woher die Schutzverletzung kommt, und die kommt jedesmal, wenn ich die Liste durchwander...
Vielleicht hat ja noch jemand 'ne idee...

Herzliche Grüße
Marco
Marco Steinebach
  Mit Zitat antworten Zitat