Viendo que lo quieres hacer con paradox (hay veces que nos deja paradox jejeje), entonces usa ls propiedad exclusive de TTable..
pero aguas aguas... tienes que atraparla con una excepcion...
Código:
Procedure MeteDato...
Var
UnBoolean : Boolean;
Begin
UnBoolean := True;
Table1.Active := False; //x si esta activo
While UnBoolean Do
Begin
Try
Table1.Exclusive := True;
Table1.Active := True;
Metes_los_datos;
//despues de meter los datos
Me_Voy_al_Final_de_la_Tabla;// y saco el numero incrementable
//pero no te vayas a colgar ahi por que pueden que otros esten
//esperando para meter los datos
Table1.Exclusive := False;
Table1.Active := False;
UnBoolean := False;
Except
//aqui puedes escribirle a una etiqueta algo
label1.Caption := 'Espere todavia no se ha metido';
End;
End;
//Aqui es donde debes de mostrar el numero que sacaste
label1.Caption := 'Esperando nuevo Dato';
End;
Otra.. si vas usar exclusive fijate que no este abierto tu dbDesktop o lo que vayas a usar para generar tus tablitas... por que si estan abiertas.. puede que te metas en un infiernito y no sepas por que... je
Por eso ya lo dijo el Santo Papa : ¡¡¡Paradox¡¡¡ que no hay otra cosa je