Przejście do procedury z masą parametrów

0

Ja już niewiem, niektóre procki mają tyle tych parametrów że to dyńka mała 8-0

np taka:

Procedure TForm1.ListView1Compare(Sender: TObject; Item1,  Item2: TListItem; Data: Integer; var Compare: Integer);
Begin
 //jakieś tam rozkazy...
End;

jak zrobić żeby przejść do takiej procedury z innej ? [glowa] wie ktoś oco w tym chodzi ?

//wiem że pare dni temu zadałem takie same pytanie, jednak wtedy było mniej tych parametrów i ludziska mi pomogli :-) a chciałbym zrozumieć oco tu chodzi [stuk]

0

Te procedury to są przeważnie zdarzenia. Nie ma sensu ich wywoływać żeby wykonać jakiś kawałek kodu. To bez sensu. Lepiej napisać własną procedurę, w której umieścisz odppowiedni kod, a potem wywoływać ją ze zdarzenia lub z jakiegoś innego miejsca w programie. Przynajmniej możesz zmniejszyć liczbę parametrów.

0

hmmm, no może i masz racje. Tylko jak napisać wlasną procedure ktora by sortowała elementy w ListView ? Zrobiłem sobie tak:

procedure TForm1.ListView1ColumnClick(Sender: TObject; Column: TListColumn);
begin
 ColumnToSort := Column.Index;
 ListView1.AlphaSort;
end;

Procedure TForm1.ListView1Compare(Sender: TObject; Item1,  Item2: TListItem; Data: Integer; var Compare: Integer);
begin
  Sortuj;
end;

procedure TForm1.Sortuj; //tą procke se sam zrobiłem ofcors
var Sender: TObject;
var ix, Data, Compare: Integer;
var Item1,  Item2: TListItem;
begin
  if ColumnToSort = 0 then Compare := CompareText (Item1.Caption,Item2.Caption)
 else
 begin
   ix := ColumnToSort - 1;
   Compare := CompareText(Item1.SubItems[ix],Item2.SubItems[ix]);
 end;
end;

no i program sie włącza, ale przy próbie posortowania sie wiesza.
Ja nie mam pojęcia o co tu chodzi, licze na bardziej doświadczonych forumowiczów, że jakoś mi pomogą. [stuk]

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