PDA

Ver la Versión Completa : Parametros sin tipo.


yapt
13-04-2010, 11:22:52
Hola a todos,

estoy viendo DCPCrypt (una lastima que no se continue su desarrollo) y veo que tiene un buen número de funciones/procedimientos que tienen parámetros, pero SIN tipo.

Por ejemplo:

procedure TDCP_blowfish.EncryptECB(const InData; var OutData);

Quiero entender que, por defecto, se manejan como punteros o algo semejante, pero prefiero que alguien me de una explicación con mayor seguridad.

Gracias.

Neftali [Germán.Estévez]
13-04-2010, 13:22:20
¿Y ese InData y OutData no están definidos en ningun sitio? ¿En alguna Unit?

yapt
13-04-2010, 14:17:40
Si lo están, yo no las encuentro.

He subido en la jerarquia de clases hasta el más ancestro que he encontrado y veo esto:

procedure EncryptECB(const Indata; var Outdata); virtual;

En cualquier caso, aun en el caso de que estuviesen definidas en algún sitio (como variables), habría que definirlas igualmente aquí, no ?

Aquí la página de DCPCrypt:
http://www.cityinthesky.co.uk/cryptography.html

La unidad donde está el método de mi primer mensaje: DCPblowfish
La unidad que yo creo que es la clase padre de todas: DCPCrypt2

Saludos.

Ñuño Martínez
13-04-2010, 15:50:47
¡Lo encontré! No ha sido fácil porque he tenido que guglear en inglispitingis, pero creo que está aquí (http://stackoverflow.com/questions/1928463/parameter-without-a-type).

En concreto creo que la respuesta está en este párrafo:
In the case of TStream.Read, the source is the stream's contents, so you don't pass that in as a parameter, but the destination is the Buffer parameter shown in the question. You can pass any variable type you want for that parameter, but that means you need to be careful. It's your job, not the compiler's, to ensure that the contents of the stream really are a valid value for the type of parameter you provide.

Además pone un enlace a un interesante artículo sobre el tema (http://pages.cs.wisc.edu/~rkennedy/untyped).

La traducción os la dejo a vosotros.:D

roman
13-04-2010, 16:21:55
También pueden consultar la ayuda de Delphi. Específicamente, buscando Untyped Parameters.

// Saludos

yapt
13-04-2010, 16:45:23
Pues si. Aquí está.
http://docwiki.embarcadero.com/RADStudio/en/Parameters_(Delphi)#Untyped_Parameters

Nada. No voy a conseguir irme a dormir un solo día sin haber aprendido (descubierto, más bien) algo nuevo. :-)

Muchas gracias a todos por la ayuda.

Saludos.