Me has aclarado mucho.
No había tenido en cuenta lo de los punteros.
He resuelto el problema de una forma a ver si está bien así:
Código Delphi
[-]
procedure Taltamod.GetCV(cod: string; al: string; var C: Double; var V: Double);
var
cv: TIBdataSet;
s: string;
begin
s:='select entrada, salida from existencias';
s:=s+' where codigo='+quotedstr(cod)+' and almacen='+quotedstr(al);
cv:=TIBdataset.Create(Application);
cv.Database:=dm.IBDatabase1;
cv.Transaction:=dm.IBTransaction1;
cv.SelectSQL.Text:=s;
cv.Active:=true;
c:=cv.FieldByName('entrada').AsFloat;
v:=cv.FieldByName('salida').AsFloat;
cv.Free;
Pregunto: ¿ haciendo esto, es decir usando un TIBDataSet nuevo, sería la forma correcta de trabajar con DataSet para obtener datos puntuales ?
Gracias.