Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-01-2010
Avatar de torito
torito torito is offline
Miembro
 
Registrado: jun 2003
Ubicación: Querétaro, Mex.
Posts: 349
Poder: 21
torito Va por buen camino
crear objeto tmemo en una unidad

Hola a todos, tengo una duda, en una función requiero generar un objeto memo, pero este es temporal, ni siquiera lo requiero visible, pero lo requiero para poder interactuar con él, intente con memo1:=Tmemo.create; pero me marca error. Alguien me podría auxiliar??

De antemano, gracias.
Responder Con Cita
  #2  
Antiguo 26-01-2010
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 26
delphi.com.ar Va por buen camino
Es muy importante que cuando algo te produce un error, nos digas cuál es el error. Aunque con tu código resulta algo evidente, ya que el constructor del TMemo (o sea el método create), tiene parámetros no opcionales.

Código Delphi [-]
var
  M: TMemo;
begin
  M := TMemo.Create(nil);

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 26-01-2010
Avatar de torito
torito torito is offline
Miembro
 
Registrado: jun 2003
Ubicación: Querétaro, Mex.
Posts: 349
Poder: 21
torito Va por buen camino
Gracias por tu pronta respuesta, tienes razón en lo de no haber escrito el error que me marca, por cierto, mientras recibia respuesta lo intente con
Código:
memo1:=Tmemo.create(memo1;)
y ya no me marco errores, pero quisiera que en la función me regrese mi memo1, así que le puse
Código:
carga_xml_to_memo():tmemo;
y me arroja el siguiente error:
Procedure cannot have a result type

¿no es posible pasar este tipo de objetos?

Saludos
Responder Con Cita
  #4  
Antiguo 26-01-2010
Avatar de torito
torito torito is offline
Miembro
 
Registrado: jun 2003
Ubicación: Querétaro, Mex.
Posts: 349
Poder: 21
torito Va por buen camino
Red face

jajajaja, mis disculpas, hace tiempo que no retomaba delphi y estoy un poco frio y mi error fue de novato, tenia procedure en lugar de function, una gran disculpa y muchas gracias nuevamente.
Responder Con Cita
  #5  
Antiguo 26-01-2010
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 26
delphi.com.ar Va por buen camino
Te dice que los procedimientos no pueden tener resultado, a diferencia de las funciones que ese es su cometido.
Código Delphi [-]
function X: TMemo;
Ten en cuenta que si la función retorna un objeto, obviamente esta internamente no lo destruirá, por lo que debes encargarte de destruírlo cuando ya no lo necesites. Por otro lado. Por otro lado no te recomiendo utilizar la variable que referencia al objeto para pasársela como Owner al método create.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #6  
Antiguo 26-01-2010
Avatar de torito
torito torito is offline
Miembro
 
Registrado: jun 2003
Ubicación: Querétaro, Mex.
Posts: 349
Poder: 21
torito Va por buen camino
ok, nuevamente muchas gracias Federico, ya lo puse como nil, y tomaré en cuenta lo de destruir los objetos ya que eso no lo he llevado acabo. Gracias.
Responder Con Cita
  #7  
Antiguo 27-01-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
A parte de la solución ya expuesta, si lo vas a crear en una unidad y ni siquiera va a estar visible, ¿No te bastaría con crear un TStrings o TStringList (que sería el correspondiente a la propiedad Lines del TMemo)?

Dependerá, eso sí, de qué propiedades y métodos necesites usar del TMemo.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #8  
Antiguo 27-01-2010
Avatar de torito
torito torito is offline
Miembro
 
Registrado: jun 2003
Ubicación: Querétaro, Mex.
Posts: 349
Poder: 21
torito Va por buen camino
Lo que pasa es que encontré un ejemplo para leer un archivo de texto con un memo

Código:
memo1.Lines.LoadFromFile(c:/datos.txt);
entonces por eso genero el objeto memo, pero analizando también puede ser el objeto lines, en fin, la falta de practica. Muchas gracias
Responder Con Cita
  #9  
Antiguo 27-01-2010
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Arrow

Cita:
Empezado por Neftali Ver Mensaje
A parte de la solución ya expuesta, si lo vas a crear en una unidad y ni siquiera va a estar visible, ¿No te bastaría con crear un TStrings o TStringList (que sería el correspondiente a la propiedad Lines del TMemo)?

Dependerá, eso sí, de qué propiedades y métodos necesites usar del TMemo.
Ni mas ni menos eso precisamente le iba a decir al amigo Torito....
Si voy a usar un Memo y éste no va ser visible entonces por que usarlo..preferiblemente seria usar un TStringList como comenta Neftalí.
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
  #10  
Antiguo 27-01-2010
Avatar de torito
torito torito is offline
Miembro
 
Registrado: jun 2003
Ubicación: Querétaro, Mex.
Posts: 349
Poder: 21
torito Va por buen camino
Fijense que me arroja un error en la linea donde uso el loadFormFile para tomar el archivo txt, y la ruta es correcta, este es mi código

Código Delphi [-]
if form1.OpenDialog2.FileName= '' then exit;//sí no tiene archivo  elegido
memo1:=Tmemo.Create(nil);
memo1.Parent:=nil; //esta linea se la agregue para ver sí esto era el error
memo1.Lines.LoadFromFile(form1.OpenDialog2.FileName);


y el error que me arroja es:
Project pruebas.exe raised exception class EInvalidOperation with messages 'control" has no parent window

Saludos
Responder Con Cita
  #11  
Antiguo 27-01-2010
Avatar de torito
torito torito is offline
Miembro
 
Registrado: jun 2003
Ubicación: Querétaro, Mex.
Posts: 349
Poder: 21
torito Va por buen camino
Lo resolví cambiando a Tstringlist, pero sí me gustaría saber cuál es el error, ojala alguien pudiera explicármelo.

Gracias
Responder Con Cita
  #12  
Antiguo 27-01-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por torito Ver Mensaje
Lo resolví cambiando a Tstringlist, pero sí me gustaría saber cuál es el error, ojala alguien pudiera explicármelo.
Pues creo que es justamente lo que hablábamos. TMemo, como control visual, debe estar ubicado en un formulario o similar (aunque no se vea y esté oculto); Que debe tener un Parent ¡Vamos!

De ahí que al intentar crearlo sin Parent se te esté quejando.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #13  
Antiguo 27-01-2010
Avatar de torito
torito torito is offline
Miembro
 
Registrado: jun 2003
Ubicación: Querétaro, Mex.
Posts: 349
Poder: 21
torito Va por buen camino
ohhh, ok, me queda claro, sólo usar el memo cuando se requiera visible, te agradezco tu pronta respuesta Neftali. y a todos los demás también, sin su ayuda me hubiera detenido un buen rato.

Saludos y gracias nuevamente.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Crear Unidad Virtual lefarre Internet 4 09-01-2009 01:40:55
Crear Un archivo de texto sin Tmemo angelp4492 Varios 4 27-12-2007 21:50:48
Problemas con WinXP al CREAR unidad de RED AGAG4 Windows 2 16-12-2006 16:34:47
Crear una Unidad en ves de un componente y llamarla desde la rtl!! Velia Varios 3 16-08-2006 15:30:52
Crear unidad virtual temporaria ANG4L API de Windows 16 07-07-2006 20:15:29


La franja horaria es GMT +2. Ahora son las 09:10:04.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi