![]() |
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. |
Quita el .Text de la tercera línea.Tu función ObtenerMemo devuelve un Memo no un String.
// Saludos |
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; |
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. ;) |
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; |
Haber dicho desde un principio lo que querias :D
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 |
asias por la ayuda :):rolleyes:
|
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 ;) |
La franja horaria es GMT +2. Ahora son las 06:46:11. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi