[fpc-pascal] Dataset indexdefs.find: documentation wrong?

LacaK lacak at zoznam.sk
Mon Dec 3 08:10:58 CET 2012


Reinier Olislagers  wrote / napĂ­sal(a):
> With this code:
> procedure SortBufDataSet(DataSet: TBufDataSet; const FieldName: string);
> var
>   Index_Name: string;
> begin
>   Index_Name := FieldName + '__IdxA';
>   if (DataSet.IndexDefs.Find(Index_Name)<>Nil) then
> ...
> the last line throws an exception if the index does not exist;
> corresponding db.pas code:
> function TIndexDefs.Find(const IndexName: string): TIndexDef;
> begin
>   Result := (inherited Find(IndexName)) as TIndexDef;
>   if (Result=Nil) Then
>     DatabaseErrorFmt(SIndexNotFound, [IndexName], FDataSet);
> end;
>
> However, the documentation states:
> Find...returns Nil if no matching index definition was found.
>
> Not a Delphi guy - should the implementation or the documentation be fixed?
>
>   
Delphi documentation says, that exception is raised
http://docwiki.embarcadero.com/Libraries/XE2/en/Data.DB.TIndexDefs.Find

May be, that IndexOf can be used to find index without raising exception.
-Laco.




More information about the fpc-pascal mailing list