Visual Basic - Pasar un recordset como parametro

Life is soft - evento anual de software empresarial
 
Vista:

Pasar un recordset como parametro

Publicado por Santiago (27 intervenciones) el 19/03/2007 00:34:02
hola quisiera sacarme una duda :
cual es la diferencia enrntre llamar a un procedimiento con CALL proc1(arg1,arg2....) y sin CALL o sea proc1 arg1, arg2 ...

gracias y espero puedan ayudar
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Pasar un recordset como parametro

Publicado por benjo (679 intervenciones) el 19/03/2007 02:30:33
Santiago
Generalmente los argumentos entre corchetes, se utiliza para Funciones, cuya devolución se guarda en una variable, o es evaluada en un bloque If o case
Un procedimiento o subrutina como no devuelve ningún valor, no es preciso escribirla entre corchetes.
Pero en sí la instrucción call se encarga de transferir el proceso o hilo de programación a una función o una subrutina. Su utilización es opcional y sirve solo en caso de las funciones para descartar el valor de devolución.

Microsoft dice:

No es necesario que utilice la palabra clave Call cuando llama a un procedimiento. Sin embargo, si utiliza la palabra clave Call para llamar a un procedimiento que requiere los argumentos, listaargumentos debe estar entre paréntesis. Si omite la palabra clave Call, debe omitir también los paréntesis de listaargumentos. Si utiliza cualquiera de las formas de la sintaxis Call para llamar a cualquier función intrínseca o a una función definida por el usuario, se descartará el valor devuelto por la función.

Lo comico, es que aunque no pongas la instruccion Call, y coloques la Función sin corchetes y con sus respectivos argumentos, si no evaluas la devolución de la función o bien si no la guardás en una variable, la devolución se descarta igual.

Entonces nos queda una sola pregunta. Para que Microsoft puso la Instrucción Call en el Lenguaje.
Dos respuestas lógicas pueden ser

1) Compatibilidad con versiones anteriores, por ejemplo en la Version 3 era obligatorio en los procedimientos.

2) Quizás fue por convención de programación.

Sea lo que sea. Nunca lo sabremos con certeza.
Como tampoco sabemos porque extraño motivo subsiste aún la función GoSub, o la Instrucción End.
Si su utilización ha sido y son tan criticada por el mismo Microsoft.

Puede que algún purista, alguna vez pase por estas líneas.y nos aclare estos puntos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Pasar un recordset como parametro

Publicado por LLE (136 intervenciones) el 19/03/2007 23:28:48
es exactamente lo mismo

son formas , costumbres, y modos de programar

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar