La base de datos es PostgresSQL como decis y la funcion que cree en ella es:
CREATE FUNCTION diferencia (int4, int4)
RETURNS int4
AS $$
DECLARE
a int4;
b int4;
res int4;
BEGIN
a:= $1;
b:= $2;
res:= b - a;
RETURN res;
END;
$$
LANGUAGE 'plpgsql';
Es una funcion sencilla que la estoy usando de prueba, es una diferencia entre dos parametros y me devuelve un resultado, en el postgres funciona.
Ahora cuando yo creo un proyecto en VB 6.0 y me conecto atraves de un DataEnvironment: creando un comando que me llame a la funcion, creando un form con 3 textbox (dos para los parametros de la funcion y uno para el resultado) y un command button....nose como hacer para que me funcione, la codificacion que uso es la siguiente:
D.diferencia (text1.text, text2.text)
set text3.datasource = D.rsdiferencia
Donde "D" es mi conexion o el nombre de mi DataEnvironment
"diferencia" es mi comando creado para llamar a la funcion
Para crear el comando en el DataEnvironment lo que hago es clic derecho en mi conexion "agregar comando" una vez creado clic derecho en el comando propiedades, voy al origen de datos y en Objetos de la base de datos elijo procedimiento almacenado, en nombre del objeto elijo la funcion que cree en la base de datos "public.diferencia".....luego voy a la pestaña Avanzadas y y en tipo de bloqueo elijo "Optimistic" anteriormente marco el chekbox que me dice devuelve recorset.....
y bueno espero se halla entendido algo, saludos y gracias