![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Consejo de amigo: No uses el with. Te aviso ahora con tiempo antes de que vayas por la mitad de tu aplicacion
![]() |
|
#2
|
||||
|
||||
|
Creo que el problema del escenario 1 se explica por si mismo:
Aquí etás creando un objeto de la clase TForm2, pero ¿Es la variable Form2? Yo creo que no, sino que es una creada al vuelo por Delphi. En los otros escenarios no te da porque al ser formularios "Autocreate"... ¡¡¡ La variable Form2 se está creando al vuelo !!! Asi debería funcionar:
Saludos |
|
#3
|
||||
|
||||
|
Como dice, ElKurgan
El error es porque estas creando la clase TFrom2 y TFrom3 pero no el objecto de la variable que es Form2 o Form3. Estas creando en memoria la clase de TFrom2 o TFrom3 pero el nombre del objecto no es Form2 o Form3, es uno que delphi le ha dado por defecto, como por ejemplo, Form2_1 o Form3_1, pero estos objectos que ha creado delphi no lo puedes utilizar porque no existen, sólo es interno del TFrom2 o TFrom3 al crear su clase. Yo utilizo mucho, pero mucho los with, pero si estas empezando con el with tienes que entender su funcionamento, si no sabe como es su comportamiento, te recomiendo que lo utilices poco a poco, amenos que sepas como funciona. Un saludo.
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber. Última edición por olbeup fecha: 21-10-2015 a las 08:48:21. |
|
#4
|
|||
|
|||
|
Cita:
Respecto a los with, no leí documentación al respecto. Pero deduje que se usa para simplificar, ya me documentaré más, Muchas gracias. ![]() |
|
#5
|
||||
|
||||
|
Efectivamente, el with es muy utilizado para simplificar. Pero hay que tener cuidado con su uso.
Por ejemplo, si sabes que una porción de código no es propensa a fallos lo puedes usar sin problemas. Pero como tengas que depurar ese trozo para ver lo que está pasando, la ayuda del depurador no sabe resolver las variables que están dentro de dicho with. Aunque hay trucos para que funcione, es mejor no usarlo cuando no tengas las cosas muy claras Saludos |
|
#6
|
|||
|
|||
|
Cita:
Gracias ElKurgan! |
|
#7
|
|||
|
|||
|
Cita:
![]() Si lo explicas de esa forma tan clara, es cómo para no olvidarlo nunca jamas. Si leí en otros post del foro hablaban de hacer referencia a variables que no existen. Se que me falta mucho por leer y tengo tanto que aprender. Muchas gracias, no sabes cuanto te lo agradezco. Gracias por tu tiempo. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Diferencia de crear formularios con Create(self) y con Application.CreateForm | Lizette | Varios | 4 | 30-03-2009 08:46:44 |
| DataModule.Create Error | Enan0 | Varios | 4 | 23-09-2008 15:13:16 |
| error en create function | lookmydoom | MySQL | 0 | 12-01-2007 04:20:59 |
| Cargar formularios en un TPanel | PTW | Varios | 2 | 24-05-2005 13:08:21 |
| error en el create table | xerkan | Firebird e Interbase | 3 | 07-10-2003 15:43:24 |
|