Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #8  
Antiguo 08-09-2010
ElielEgo ElielEgo is offline
Registrado
 
Registrado: sep 2010
Posts: 1
Poder: 0
ElielEgo Va por buen camino
Hola mmmm se que quizá estan dando respuesta a la pregunta de alguien más, pero yo tengo el mismo problema y según yo no lo estoy haciendo de una forma erronea.

Les comento, Tengo una forma donde lo único que tengo es un TXMLDocument (name: xml_doc) con el que leo un cuestionario en xml. Este cuestionario por necesidades del mismo varía el número de respuestas que a efectos del sistema se convertirán en radiobuttons. Por tal motivo debo generarlos de manera dinámica cada vez que se cargue una pregunta. Sin embargo en ocasiones y no siempre en el mismo momento me marca este tipo de errores cuando genero los nuevos elementos.

este es mi código

Código Delphi [-]
procedure Tfrm_quiz.cargaPregunta(index:integer);
var
  pregunta:  IXMLNode ;
  arriba, i, max_node_child:integer;
  boton : TbitBtn;
  radio: TRadioButton;
  control : TControl;
  _label : Tlabel;
begin

  boton := nil;
  radio := nil;
  _label := nil;
  control := nil;
  //Index se refiere al número de nodo que leo del xml es decir el reactivo
  if (index <> 0) then
  begin    
    for i:= 0 to (self.ControlCount -1) do
    begin       
        control := self.Controls[0];//Siempre uso el 0 porque es como ir eliminando el primero que encuentra
        freeandnil(control);
    end;
  end;

  pregunta:= self.xml_doc.DocumentElement.ChildNodes[index];
  _label := TLabel.Create(nil);

  with _label do
    begin
      left := 16;
      top:= 16;
      caption := pregunta.ChildNodes['reactivo'].Text;
      parent:=self;
    end;


  max_node_child := pregunta.ChildNodes.Count - 1;
  arriba := 64;
  for i:= 1 to max_node_child do
  begin
    radio := TRadioButton.Create(nil);
    with radio do
    begin
      left := 16;
      top:= arriba;
      arriba := arriba +30;
      width := 560;
      name := 'rdb_'+inttostr(i);
      helpKeyword := pregunta.ChildNodes[i].Attributes['etiqueta'];
      caption := pregunta.ChildNodes[i].Text;
      onClick := evaluaClick;
      parent:=self;
    end;
  end;

  if (index < self.max_node -1) then
  begin
    boton := TbitBtn.Create (nil);
    with boton do
    begin
      caption := 'Siguiente';
      left := 506;
      top := 640;
      name := 'btn_siguiente';
      OnClick := BitBtn1Click;
      parent:=self;
    end;
  end
  else
  begin    
    boton := TbitBtn.Create (nil);
    with boton do
    begin
      caption := 'Finalizar';
      left := 506;
      top := 640;
      name := 'btn_finalizar';
      OnClick := finaliza;
      parent:=self;
    end;
  end;
end;

Muchas gracias a quien me pueda ayudar y seguimos en contacto por aca...
Responder Con Cita
 



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
Detener un error de access violation de la DbGrid - delphi..... uper Varios 1 21-09-2005 21:54:42
Error Access Violation en Paquetes (Packages) DarKraZY OOP 4 13-09-2005 14:35:31
Maldito ... Access violation Error (QuickReports) User_baja1 Impresión 1 20-04-2005 10:29:32
Error Access Violation samame Conexión con bases de datos 1 01-04-2004 10:48:10
Error Access Violation con Crystal 9 samame Impresión 0 30-03-2004 14:03:17


La franja horaria es GMT +2. Ahora son las 06:46:10.


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