PDA

Ver la Versión Completa : ayuda con la asignacion de objetos


jfer
02-05-2008, 20:29:23
Hola, espero que estes bien, disculpa por las molestias pero soy nuevo usando delphi y queria pedirte una ayuda es sobre asignacion de delphi.

pasa que tengo estas definiciones:


PNodo= ^TNodo;
TNodo = record
Elem: TObject;
Suce: PNodo;
Pred: PNodo;
end;
TLista = class
Tam: word;
Prim: PNodo;
Ulti: PNodo;
constructor NewLista;
procedure InserInicio( n: PNodo);
function TomarPrim(): PNodo;
{y otros metodos}
end;

TLugar = class
Xpos, Ypos: Integer;
Tam: Integer;
Color: Byte;
Nombre: String[LongNom] ;
Tipo: Integer;
ColorMa: Byte;
Marca: LongInt;
MarcaVieja: LongInt;
Timing: Boolean;
procedure IniLug(Xp,Yp, Taman:Integer; Col,ColMa:Byte;
Mar:LongInt; Nom:String; Tip:Integer) ;
end;

y cuando ago algo como esto

var
Nod: Pnodo;
Lug: Tlugar;
Lis: TLista;
begin
Lug:= TLugar.create;
Lug.IniLug(' bueno aca van todos los parametros') ;
New(Nod);
Nod^.elem:= lug;
Lis:= TLista.NewLista;
Lis.InserInicio( Nod); //hasta aca va todo bien

//hasta aqui

nod:= Lis.TomarPrim;
Lug:= Nod^.Elem;


me salen errores que no se como solucionarlo y si o si tengo que hacer esta asignacio, si vos sabes que es lo que esta ocurriendo me podrias explicar como solucionarlo o que es lo que tengo que hacer.

Desde ya muchas gracias.

enecumene
02-05-2008, 20:41:33
me salen errores que no se como solucionarlo y si o si tengo que hacer esta asignacio, si vos sabes que es lo que esta ocurriendo me podrias explicar como solucionarlo o que es lo que tengo que hacer.

Desde ya muchas gracias.

Hola, al menos nos podrías indicarnos cuáles son esos errores, de ese modo podremos ayudarte un poco más.

Saludos.

Delphius
02-05-2008, 20:57:54
Agregado a lo que comenta enecumene,
Sería oportuno que nos indiques el resto del código puesto que por lo que veo hay algunas lagunas en lo que nos muestras.

¿En que parte te arroja el error? ¿Que hace TomarPrim? ¿Que sucede entre el InserInicio y TomarPrim? ¿Hay algo en el medio?

El asunto es que si ven otra parte del código (que no nos menciona) difícil será que hallemos donde está el problema y por tanto, su solución.

Saludos,

jfer
02-05-2008, 21:13:25
Disculpa Pero tenes algun correo pa ra que te mande todo lo que tengo hecho o como aria para adjuntar archivos en el foro.
Desde ya muchas gracias

Delphius
02-05-2008, 21:16:27
Disculpa Pero tenes algun correo pa ra que te mande todo lo que tengo hecho o como aria para adjuntar archivos en el foro.
Desde ya muchas gracias
¿Que es mucho?
Puedes ponerlo aqui tranquilamente, además puedes adjuntar archivos zip (con los pas, no el exe... sino será pesado) en los post.

Además el enviarmelo a mi no te beneficia a ti y a lo demás interesados. Expone tus dudas aquí.

Saludos,

jfer
02-05-2008, 22:15:38
bueno el problema es el mismo que dije ante pero esta ves puse el codigo en el archivo adjunto


PNodo= ^TNodo;
TNodo = record
Elem: TObject;
Suce: PNodo;
Pred: PNodo;
end;
TLista = class
Tam: word;
Prim: PNodo;
Ulti: PNodo;
constructor NewLista;
procedure InserInicio( n: PNodo);
function TomarPrim(): PNodo;
{y otros metodos}
end;

TLugar = class
Xpos, Ypos: Integer;
Tam: Integer;
Color: Byte;
Nombre: String[LongNom] ;
Tipo: Integer;
ColorMa: Byte;
Marca: LongInt;
MarcaVieja: LongInt;
Timing: Boolean;
procedure IniLug(Xp,Yp, Taman:Integer; Col,ColMa:Byte; Mar:LongInt; Nom:String; Tip:Integer) ;
end;

y cuando ago algo como esto

var
Nod: Pnodo;
Lug: Tlugar;
Lis: TLista;
begin
Lug:= TLugar.create;
Lug.IniLug(' bueno aca van todos los parametros') ;
New(Nod);
Nod^.elem:= lug;
Lis:= TLista.NewLista;
Lis.InserInicio( Nod); //hasta aca va todo bien
.
.
. //hasta aqui

nod:= Lis.TomarPrim;
Lug:= Nod^.Elem;

me salen errores que no se como solucionarlo y si o si tengo que hacer esta asignacio, si vos sabes que es lo que esta ocurriendo me podrias explicar como solucionarlo o que es lo que tengo que hacer.
Desde ya muchas gracias. mi correo es jfer_net@hotmail.com

maeyanes
02-05-2008, 22:38:00
Hola...

Te recuerdo e insisto que leas la Guía de Estilo de los foros (el enlace está arriba)... también recuerda que existen las etiquetas [ delphi ] [ /delphi ] (sin los espacios en blanco) para publicar código fuente en Delphi.

Sobre tus dudas, pues, si no nos indicas exactamente que errores son los que obtienes, no podemos hacer gran cosa, mira que no somos adivinos...

Y por último, aquí no damos ayuda o soporte vía correo electrónico. Cuando ayudamos a alguien lo hacemos por este mismo medio para que los demás saquen provecho de las soluciones...


Saludos...

Delphius
02-05-2008, 22:47:26
jfer, ¿Porqué no seguiste en el otro (http://www.clubdelphi.com/foros/showthread.php?t=55955) hilo?:confused:
Ahora en que hilo continuamos la conversación... ¿aquí o en el otro?.

Estoy con maeyanes, date una leída a la guia de estilo.

Saludos,

roman
03-05-2008, 00:34:24
Ya he combinado los dos temas.

// Saludos

jfer
03-05-2008, 00:58:35
hola de nuevo, sigamos en este hilo, gracias