Ver Mensaje Individual
  #4  
Antiguo 08-12-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Lightbulb

Vamos a ver si no es una barbaridad. Pero creo que todo proviene de la "mala" costumbre de referirse a una instancia particular de una clase desde métodos de la propia clase.

Su tu pones:

Código Delphi [-]
Form2 := TForm2.Create(Self);

estás creando una instancia de TForm2 que vas a asignar a la variable Form2. Pero en el OnCreate de TForm2 (no de Form2, observa la T) pones:

Código Delphi [-]
Form2.Left := Form1.Left + 100;
Form2.Top  := Form1.Top  + 100;

¡Pero Form2 no ha terminado de construirse! Así que el mensaje de error:

"Object reference not set to an instance of an object"

no suena ya tan raro ¿no? Form2 aún no es una instancia!!

Omite la referencia a Form2:

Código Delphi [-]
Left := Form1.Left + 100;
Top  := Form1.Top  + 100;

// Saludos
Responder Con Cita