FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
donde está el error? :S
Tengo el siguiente codigo y el mensaje de error es el siguiente : Incompatible tipos string y TMemo
procedure TForm1.Button3Click(Sender: TObject); begin memo2.text:=obtenermemo; end; function Tform1.obtenermemo:Tmemo; var memo1:Tmemo; begin memo1:=Tmemo.Create(self); memo1.Lines.Add('hola'); obtenermemo:=memo1; end; La verdad que ya he probado varias combinaciones y na de na. alguien sabe que sucede? Gracias. |
#2
|
||||
|
||||
Quita el .Text de la tercera línea.Tu función ObtenerMemo devuelve un Memo no un String.
// Saludos |
#3
|
|||
|
|||
Esa opción ya la habia probado y nada
el error que me sale ahora es : project2.exe raises exception class EinvalidOperation with message control has no parent windows. Proccess stopped. El codigo es : procedure TForm1.Button3Click(Sender: TObject); begin memo2:=obtenermemo; end; function Tform1.obtenermemo:Tmemo; var memo1:Tmemo; begin memo1:=Tmemo.Create(self); memo1.Lines.Add('hola'); obtenermemo:=memo1; end; |
#4
|
||||
|
||||
Hola.
Ya es hora de usar la etiqueta [ delphi ], no te parece. la solución podria ser:
ojo!! que estas haciendo una asignación "a lo pelado" de un puntero. Si memo2 apuntaba a un memo creado con anterioridad, estas perdiendo la forma fácil de acceder a él, y dejandolo en memoria hasta que se libere la forma (gracias al ownership, que si no la memoria se quedaba tirada para siempre). Espero que sepas realmente lo que queres conseguir con esto. Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#5
|
|||
|
|||
Nada, no hay manera de hacer una funcion que devuelva un TMemo1.
Ni lo mas simple funciona : Memo2 es un memo en el formulario con datos. Lo que sucede es que memo1 no se llena con los datos del memo2. procedure TForm1.Button3Click(Sender: TObject); begin memo1:=obtenermemo; end; function Tform1.obtenermemo:Tmemo; begin obtenermemo:=memo2; end; |
#6
|
||||
|
||||
Haber dicho desde un principio lo que querias
En tu mensaje anterior, en button3Click escribe:
Y verás lo que estas haciendo . Ahora mira la ayuda de Assign para comprobar que es lo que hace. Un saludo
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. Última edición por Lepe fecha: 17-06-2005 a las 13:53:25. |
#7
|
|||
|
|||
asias por la ayuda
|
#8
|
||||
|
||||
Cita:
Cita:
Si lo que queres es que el memo1 tenga las líneas que produce la función, pues hay varias formas "sanas" de hacerlo. Una:
Habrán otras formas de hacerlo... esta al menos debiera funcionar correctamente. Hasta luego
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
|
|
|