Delphi - convertir var Buf a string

 
Vista:

convertir var Buf a string

Publicado por renzo (1 intervención) el 31/08/2007 17:43:23
una funccion tiene un parametro declarado como var Buf pero sin ningun tipo, como se puede hacer una copia de ese parametro a un string. he tratado usando string pero me sale error

var
s: string;
procedure buffer (var buf);
begin
s := string(buf);
end;
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:convertir var Buf a string

Publicado por Diego Romero (25 intervenciones) el 01/09/2007 00:19:58
Los parámetros sin tipo son incompatibles con cualquier tipo. Para poder trabajar con ellos necesitas castear el parámetro a un tipo definido y saber de alguna forma cuánto mide el parámetro en bytes.

Pero por lo que veo del código que has posteado no puedes saber de ninguna forma cuánto mide buf cuando entra al procedimiento. Los parámetros sin tipo en realidad son punteros, no puedes hacer SizeOf(buf). Por lo que sospecho que ese procedimiento está escrito para sacar datos fuera del procedimiento, algo así:

procedure buffer (var buf);
var
S: string;
begin
S:='Diego';
move(S,buf,SizeOf(S));
end;

...

var
A: string;
begin
buffer(A);
ShowMessage(A);
end;
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