Błąd przy kompilacji "For loop control variable must be simple local variable"

0

Witam, mam taki kod, przy probie kompilacji otrzymuje błąd typu : [Error]For loop control variable must be simple local variable

procedure TForm.ListView1DblClick(Sender: TObject) ;
 var
   hts : THitTests;
   ht : THitTest;
   sht : string;
   ListViewCursosPos : TPoint;
 
   selectedItem : TListItem;
 begin
   //position of the mouse cursor related to ListView
   ListViewCursosPos := ListView1.ScreenToClient(Mouse.CursorPos) ;
 
   //double click where?
   hts := ListView1.GetHitTestInfoAt(ListViewCursosPos.X, ListViewCursosPos.Y) ;
 
   //"debug" hit test
   Caption := '';
   for ht in hts do
   begin
     sht := GetEnumName(TypeInfo(THitTest), Integer(ht)) ;
     Caption := Format('%s %s | ',[Caption, sht]) ;
   end;
 
   //locate the double-clicked item
   if hts <= [htOnIcon, htOnItem, htOnLabel, htOnStateIcon] then
   begin
     selectedItem := ListView1.Selected;
 
     //do something with the double clicked item!
     Caption := Format('DblClcked : %s',[selectedItem.Caption]) ;
   end;
 end;
 

nie wiem jak to naprawić ? pomoże ktoś ?? :)

0

Która wersja Delphi?
Może po prostu nie obsługuje akurat tej pętli?

0

Delphi 7 Enterprise

0

D7 afair nie posiada obsługi pętli for..in.

0

Dzięki za pomoc, chyba trzeba będzie się przesiąść na XE3 ? czy raczej pozostać w Delphi7 i poprawić ten kod ?

0

Delphi 7 ma już 11 lat, lepiej będzie mimo wszystko albo zakupić nowszą wersję, albo pobrać darmowego Lazarusa.

0

Hmmm takie petle to od 2005 ale moze coś jak:

  for i:= Integer(Low(THitTest)) to Integer(High(THitTest)) do
  begin
    ht:= THitTest(i);
    if ht in hts then
    begin
      sht := GetEnumName(TypeInfo(THitTest), integer(ht)) ;
      Caption := Format('%s %s | ',[Caption, sht]);
    end;
  end;

//edit przekombinowałem wystarczy:

  for ht:= Low(THitTest) to High(THitTest) do
  begin
    if ht in hts then
    begin
      sht := GetEnumName(TypeInfo(THitTest), integer(ht)) ;
      Caption :=  Format('%s %s | ',[Caption, sht]);
    end;
  end;

1 użytkowników online, w tym zalogowanych: 0, gości: 1