Index

index - słowo kluczowe języka Delphi

Eksportowanie funkcji


Słowo kluczowe używane podczas eksportowania procedur oraz funkcji z biblioteki DLL. Eksportować funkcje oraz procedury można na dwa sposoby: przez nazwę oraz przez indeks.

Wyeksportowanie procedury czy też funkcji poprzez indeks polega jedynie na użyciu dyrektywy index.

exports
  About index 1,
  SomeFunc index 2;


Jeśli w takim wypadku chcemy wykorzystać owe funkcje, należałoby w naszej aplikacji zapamiętać indeksy, z jakimi są one eksportowane z biblioteki DLL. Łatwiej jest jednak zapamiętać nazwy niż cyfry, stąd eksportowanie przez indeks jest używane dość rzadko.

Właściwości klas


Słowo kluczowe index jest używane także przy definiowaniu właściwości klas, które są odczytywane (i zapisywane) przez metodę, która posiada dodatkowy argument, typu integer. Najczęściej to rozwiązanie stosuje się w celu uniknięcia wielokrotnego kopiowania bardzo podobnych metod, zwracających wartości właściwości.
Składnia:

property Nazwa: Typ index stała_typu_integer read Nazwa_metody1 write Nazwa_metody2;

Przy czym, definicja metody powina wtedy wyglądać np. tak (argument idx ma wartość, która znajduje się za słowem index, w definicji właściwości, którą odczytujemy):
function Nazwa(idx:integer):Typ;


Przykład:

type
  TRectangle = class
  private
    FCoordinates: array[0..3] of Longint;
    function GetCoordinate(Index: Integer): Longint;
    procedure SetCoordinate(Index: Integer; Value: Longint);
  public
    property Left: Longint index 0 read GetCoordinate write SetCoordinate;
    property Top: Longint index 1 read GetCoordinate write SetCoordinate;

    property Right: Longint index 2 read GetCoordinate write SetCoordinate;
    property Bottom: Longint index 3 read GetCoordinate write SetCoordinate;
    property Coordinates[Index: Integer]: Longint read GetCoordinate write SetCoordinate;
  end;
//...
 

Zobacz też:
Informacje
Ostatnia modyfikacja 07-02-2006 17:13 Ostatni autor Pawel200x.5
Ilość wyświetleń 2642 Wersja 2
Komentarz

Katalog
Copyright © 2000-2006 by Coyote Group 0.9.3-pre3
Czas generowania strony: 0.0541 sek. (zapytań SQL: 9)