Ver Mensaje Individual
  #6  
Antiguo 06-02-2019
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Reputación: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Ahora que reviso nuevamente el código de DarthGomis, caigo en la cuenta de que él estaba llamando dos veces el método ShowModal. La primera vez con la instancia recién creada (que debido al With no reparé en ella) y la segunda vez con la variable Form2.

Como ha mostrado Germán, la excepción es elevada por la expresión Form2.ShowModal (y no la que mal deduje antes, Form2.Edit1.Text). Y es que ShowModal sí es un método virtual (acabo de revisar y TControl.GetText no ).
Código Delphi [-]
unit Vcl.Forms;
//...
  TCustomForm = class(TScrollingWinControl)
    //...
    function ShowModal: Integer; virtual;
Puede servir como tip: Básicamente, cada vez que obtenemos en Delphi una excepción Access Violation con un mensaje de texto conteniendo la leyenda Read of address 00000000, es bastante probable que se trate de un intento de llamada a algún método virtual empleando una variable objeto Nil (no asignada). En este caso fue la línea de código "if Form2.ShowModal = mrOk then". Y, en general, cualquier AV de lectura o escritura sobre una dirección de memoria 0 o cercana a 0 (000002A4, por ejemplo), es indicativo de intento de operación con un posible objeto Nil.

Cita:
Empezado por DarthGomis Ver Mensaje
[...]estoy aprendiendo en Delphi[...]
Celebro que cada vez haya más personas aprendiendo a programar en Delphi. Estupendos foros como Club Delphi estarán ahí para ayudar a resolver tus dudas. Y aspiramos a que tú mismo empieces a ayudar a otros también en poco tiempo. ¡No dejes de participar y compartir!
Responder Con Cita