Applies To:
  • CitectSCADA 1.00 1.01 1.10 1.11 1.20 2.00 2.01

When DevOpen is used in Mode 2 (Indexed) for a DBF file DevSeek(hDev,1) goes to the first physical record in the file and DevNext then proceeds through the Index from that point. The only way to access the entire file in Indexed Mode is by a series of DevNext calls until the end of the file is reached. The only safe ways to get back to the start of the file are then to DevClose and DevOpen again or to store DevRecNo when first opening the file and then use it in DevSeek. It seems that only DevNext and (presumably) DevPrev are "Index aware". DevSeek and possibly DevFind should also use the index when DevOpen is indexed. 

To solve this problem DevOpen has been modified so that when you open the device in indexed mode it will seek to the first indexed record. Also the new function DevFirst(hDev) has been added to allow you to reposition the record pointer back to the first record in the index. These changes are included into version 3.00 and later.

DevSeek(hDev, 1), will still seek to the first physical record as the seek operation is independent of the index. DevFind has always been index aware and will find records using the associated index.