Delphi - pasar una estructura a otra

 
Vista:

pasar una estructura a otra

Publicado por jose (22 intervenciones) el 08/06/2005 16:56:53
hola

me podrian decir como paso una estructura completa a otra del mismo tipo osea
en una unit1 tengo
type datosa = record
....
end

y en otra unit2
type datosb = record
....
end

como podra hacer que en la unit2
datosb := datosa sin tener que ir registro por registro sino que de una vez
me dice que son incompatibles

ojala me ayuden gracias


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 una estructura a otra

Publicado por Diego Romero (636 intervenciones) el 09/06/2005 02:28:31
Lo que pides viola frontalmente la filosofía del lenguaje Pascal además de otras cosas que prefiero no mencionar :P.
La respuesta corta: no, no se puede hacer así.
La respuesta larga solución incluida es: si ambos registros tienen muchos campos y la gran mayoría coincide en orden y tamaño puedes juntar los dos en uno. Pongo un ejemplo cortito para no liar mucho.
Supongamos que tienes en unit1 un record tal como:

datosa = record
A:string[30];
B:string[40];
C:byte;
end;

Y en unit2 un record tal como:

datosb = record
A:string[30];
B:string[40];
D:integer;
end;

Veras que ambos son similares pero no iguales, si pretendes asignar uno en el otro el compilador se quejará con justa razón, pero algo se puede hacer.
En unit1 podrías declarar un registro así:

datosc = record
A:string[30];
B:string[40];
C:byte;
D:integer;
end;

Y en la unit2 agregar Unit1 a la cláusula uses para que reconozca el mismo registro.
Si en Unit2 ocupas campos distintos que en Unit1 no importa :).
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