Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > Lazarus, FreePascal, Kylix, etc.
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-03-2022
Bretema Bretema is offline
Miembro
 
Registrado: nov 2003
Ubicación: Vigo - Galicia
Posts: 37
Poder: 0
Bretema Va por buen camino
Error accediendo a propiedad Caption de Formulario

Hola a todos,

Me he encontrado con el siguiente problema, tengo un formulario inicial de una aplicación que se encarga de ir llamando a otra serie de formularios para realizar diversas tareas. Los formularios no son creados por defecto al arrancar la aplicación sino que se van creando si son necesarios. En esos formularios se realizan las típicas tareas de mantenimiento (altas, bajas y modificaciones) y al iniciarlas intento cambiar el Caption de la ventana para reflejar la tarea que se va a llevar a cabo ... en ese momento salta una excepción:

"El proyecto xxxxx ha lanzado una excepción de la clase External: SIGSEGV' en archivo '.\include\control.inc' en linea 3548"

la linea en cuestión es: "GetTextMethod := TMethod(@Self.GetTextBuf);"

lo curioso es que esta excepción también salta al intentar simplemente acceder al contenido de Caption desde el código del formulario.

Por otra parte, si los formularios son creados por la aplicación al iniciarse y me limito a invocarlos, no se genera ningún tipo de excepción.

¿Alguna idea sobre lo que puede estar pasando .....?

Gracias anticipadas.
Responder Con Cita
  #2  
Antiguo 23-03-2022
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Sin ver el código que usas solamente podemos adivinar.
Se supone que el form está creado cuando le cambias el caption.
Responder Con Cita
  #3  
Antiguo 23-03-2022
Bretema Bretema is offline
Miembro
 
Registrado: nov 2003
Ubicación: Vigo - Galicia
Posts: 37
Poder: 0
Bretema Va por buen camino
Gracias por tu interés Casimiro,

adjunto un ejemplo que muestra el error, hay un formulario inicial desde el que se pueden lanzar otros dos formularios, uno creado estáticamente al lanzar la aplicación y otro que se crea dinámicamente. En los tres formularios hay un par de botones para cambiar su caption, en los dos creados estáticamente no dan problemas y en el creado dinamicamente genera la excepción que comento en mi mensaje original.

Saludos.
Archivos Adjuntos
Tipo de Archivo: zip Cambio caption.zip (127,8 KB, 6 visitas)
Responder Con Cita
  #4  
Antiguo 23-03-2022
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cambia FManu por Self.

Código Delphi [-]
procedure TFManu.Button1Click(Sender: TObject);
begin
  Self.Caption:= 'FAuto - Button1';;
//  FManu.caption := 'FAuto - Button1';
end;

procedure TFManu.Button2Click(Sender: TObject);
begin
  self.caption := 'FAuto - Button2';
//  FManu.caption := 'FAuto - Button2';
end;
Responder Con Cita
  #5  
Antiguo 23-03-2022
Bretema Bretema is offline
Miembro
 
Registrado: nov 2003
Ubicación: Vigo - Galicia
Posts: 37
Poder: 0
Bretema Va por buen camino
Gracias por la solución Casimiro !!!

por curiosidad, ¿porqué no funcionaría en el form creado dinamicamente y en los otros si?, y otra pregunta de alguien no muy puesto ... ¿como sabe que self hace referencia al formulario y no, por ejemplo, al botón que también tiene esa propiedad?

Saludos.
Responder Con Cita
  #6  
Antiguo 23-03-2022
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Mira si este hilo te aclara tus dudas. Léelo hasta el final
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Cambiar la propiedad Caption de etiquetas TLabels en runtime mediante bucle for. Yugo C++ Builder 8 04-09-2014 23:04:30
propiedad caption lucas05 Varios 10 25-08-2010 19:51:51
Cambiar propiedad de componente del formulario padre al cerrar el formulario hijo jzginez OOP 5 22-06-2007 21:40:51
¿Cómo hago para que la propiedad Caption de un botón tenga múltiples líneas? kakarotv5 Varios 9 25-05-2007 15:29:10
Captión de un Formulario auxiliar. bbjb OOP 5 10-03-2005 15:59:08


La franja horaria es GMT +2. Ahora son las 14:08:22.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi