Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-10-2017
kratos1981 kratos1981 is offline
Registrado
NULL
 
Registrado: oct 2017
Posts: 1
Poder: 0
kratos1981 Va por buen camino
Tengo dudas con el libro delphi2006

Hola buen dia, hace una semana comencé a leer DELPHI2006, ya que quiero aprender a programar aplicaciones para puntos de venta y rockolas, todo iba bien con los ejemplos a pesar de que uso el delphiXE2, hasta que no pude entender donde se coloca este procedimiento

procedure TMainForm.ShowButtons(Sender: TObject);
begin
Button1.Visible := CheckBox1.Checked;
Button2.Visible := CheckBox1.Checked;
Button3.Visible := CheckBox1.Checked;
Button4.Visible := CheckBox1.Checked;
end;

En los demàs ejemplos al colocar cualquier objeto al formulario, en propiedades en la pestaña evento se crea un procedimiento, bueno pues al día de hoy no he podido encontrar donde se crea ese procedimiento y al intentar escribirlo tal cual, el programa me muestra un error a la hora de correrlo, para evitar ese problema usè el evento onClick del CheckBox.

quedando de esta manera.

procedure TForm.CheckBox1.Click(Sender: TObject);
begin
Button1.Visible := CheckBox1.Checked;
Button2.Visible := CheckBox1.Checked;
Button3.Visible := CheckBox1.Checked;
Button4.Visible := CheckBox1.Checked;
end;

El cual me ha servido, todo estaba bien, hasta que al avanzar con otros ejemplos me muestra un error, cada vez que activo y desactivo la el checkbox.

El codigo del nuevo ejemplo es este

procedure TForm1.CheckBox1Click(Sender: TObject);
var
Cnt: Integer;
Comp: TComponent;
begin
for Cnt := 1 to 7 do
begin
Comp := FindComponent('Button' + IntToStr(Cnt));
TButton(Comp).Visible := CheckBox1.Checked;
end;
end;

y el error que me aparece dice ACCESS VIOLATION AT ADDRESS 0483FBB IN MODULE 'CHECKBOX1.EXE'. READ OF ADDRESS 00000061

echenme una explicaciòn, no quiero desanimarme mas del delphi
Responder Con Cita
  #2  
Antiguo 24-10-2017
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.009
Poder: 20
oscarac Va por buen camino
porque le pones

Código Delphi [-]
for Cnt := 1 to 7 do

tienes 7 checkbox?
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #3  
Antiguo 24-10-2017
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por kratos1981 Ver Mensaje
...
procedure TMainForm.ShowButtons(Sender: TObject);
...
procedure TForm.CheckBox1.Click(Sender: TObject);
Si creas un nuevo formulario verás que la estructura que se crea en el .PAS asociado es la siguiente:

Código Delphi [-]
type
  TForm2 = class(TForm)
    procedure FormClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
    procedure ShowButtons();
  public
    { Public declarations }
    procedure Publica(Sender: TObject);
  end;

Los dos primeros procedimientos son eventos y su implementación es similar a la siguiente; Fíjate que están en la zona antes de la definicción private.

Código Delphi [-]
procedure TForm2.FormClick(Sender: TObject);
begin
   ...
end;

procedure TForm2.FormShow(Sender: TObject);
begin
  ...
end;

Los 2 segundos definidos en la parte private y public son procedimientos definidos (no eventos) cuya implementación es la siguiente:

Código Delphi [-]

procedure TForm2.Publica(Sender: TObject);
begin
  ...
end;

procedure TForm2.ShowButtons;
begin
  ...
end;

Los eventos se diferencias en que están "ligados" a algún componente visual.

En el código que has puesto, y los elementos marcados en rojo veo como cosas raras:
(1) Que unos hacen referencia a TMainForm y otros aTForm (seguramente por copiar y pegar)
(2) Que el procedimiento que te falla, deberá estar definido en la parte privada/public del formulario o en la zona anterior si es un evento.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
qreport y delphi2006 Manuel Impresión 1 19-03-2008 11:33:26
Menu en Delphi2006.net maco2007 Varios 4 05-11-2007 19:38:13
BDEClientDataSet en Delphi2006 pborges36 Conexión con bases de datos 5 11-07-2006 17:32:47
Estoy por iniciarme en PHP y tengo algunas dudas Delphius PHP 5 20-05-2006 07:40:42
Aun tengo dudas.... craven OOP 3 11-06-2003 17:42:20


La franja horaria es GMT +2. Ahora son las 21:18:38.


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