DELPHI (CREACION OBJETO DE CLASE)
Publicado por Leandro Palavecino (5 intervenciones) el 24/05/2021 08:02:29
Buenas tardes.
Estoy aprendiendo programacion. He buscado informacion pero no logro comprender del todo algunos aspectos basicos.
Estoy teniendo problemas con la creacion de objetos a partir de una clase propia. Fijese que al ejecutar el metodo free del objeto perro, se elimina tambien del vector posicion 1. Pienso que debe ser porque ambos acceden a la misma direccion de memoria, y no estoy especificando algo en el metodo constructor de la clase. Pero no estoy seguro.
EL RESULTADO DE SHOWMESSAGE SE MUESTRA VACIO.
PIENSO QUE LA VARIABLE PERRO HACE REFERENCIA A LA MISMA DIRECCION DE MEMORIA QUE VECTOR[1] CUANDO LE ASIGNO LA MISMA.
Estoy aprendiendo programacion. He buscado informacion pero no logro comprender del todo algunos aspectos basicos.
Estoy teniendo problemas con la creacion de objetos a partir de una clase propia. Fijese que al ejecutar el metodo free del objeto perro, se elimina tambien del vector posicion 1. Pienso que debe ser porque ambos acceden a la misma direccion de memoria, y no estoy especificando algo en el metodo constructor de la clase. Pero no estoy seguro.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
type
Tperro = class
nombre : string;
raza : string;
end
var
vector : array [1..10] of TPerro;
implementation
procedure Tform1.cargarperros;
begin
vector[1] := TPerro.create;
vector[1].nombre := 'Cubo';
vector[1].raza := 'caniche';
vector[2] := TPerro.create;
vector[2].nombre :='Chopper';
vector[2].raza := 'labrador';
end;
procedure Tform1.mostrardatos;
var
Perro : TPerro;
begin
Perro := TPerro.create;
Perro := vector[1];
Label1.caption:= Perro.nombre;
Perro.free;
end;
procedure Tform1.visualizarvector;
begin
showmessage(vector[1].name); // aca verifico que el vector siga teniendo sus datos correspondientes
end
EL RESULTADO DE SHOWMESSAGE SE MUESTRA VACIO.
PIENSO QUE LA VARIABLE PERRO HACE REFERENCIA A LA MISMA DIRECCION DE MEMORIA QUE VECTOR[1] CUANDO LE ASIGNO LA MISMA.
Valora esta pregunta


0