Das
Locate erzwingt immer den Browse-Mode (zumindest bei FireDAC). Wenn das
Locate keinen anderen Zweck erfüllt, kannst du auch gleich
CheckBrowseMode aufrufen und die Prüfung auf Browse-Mode weglassen.
Welcher Datensatz dann geändert wird (und es wird immer einer geändert, wenn keine
Exception oder ähnliches auftritt) hängt vom Rückgabewert von
Locate ab. Entweder ist es der Datensatz, der gesucht wurde oder der Datensatz der vor dem
Locate aktiv war.
Man sollte noch erwähnen, dass bei einem leeren DataSet das
Edit intern ein
Insert ausführt.