Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-01-2005
jymy788 jymy788 is offline
Miembro
 
Registrado: jun 2004
Posts: 120
Poder: 20
jymy788 Va por buen camino
Creación de componentes en tiempo de ejecución

Buenas a todos.

Vamos a ver, espero que me puedan ayudar. Mi problema es el siguiente:

Me creo en tiempo de ejecución unos groupboxs y después de haberlos creados (que lo hace bien) intento crear dentro de cada uno de ellos un determinado número de tFloatEdits (dependen de un length de un array).

El problema lo tengo al crear los floatEdits porque no puedo ponerle como parent el groupbox correspondiente porque no se guardar su nombre. Os adjunto el código para que me puedan echar un cable ok?

////////////////////////////////////////////////////////////////////////////////
Código Delphi [-]
procedure TFormVerServiciosMensual.CreateFloatEdit1a16(aryServicios: TDArrayString);
 var
   myAryServicios, myParent, listGB1a16Name: TDArrayString;
   i, j, k, topX, leftX, topXEdit : integer;
   parentAux: string;
   WidgetName  : TComponent;
 begin
   // destruimos todos los objetos del panel P1a16
   BfFormDestroy(Self, P1a16); 
   myAryServicios := aryServicios;
   leftX := 1;
   for i:=1 to 16 do
   begin
     WidgetName := TGroupBox.Create(Self);
     with TGroupBox(WidgetName) do
     begin
       Name      := 'GB'+ intToStr(i);
       Caption   := '    '+inttoStr(i)+'    ';
       Parent    := P1a16;  //panel sobre el que se crean los groupboxes
       Left      := leftX;
       Top       := 1;
       Width     := 53;
       Height    := 192;
     end;
     leftX := leftX + 53;
     for j:=0 to length(myAryServicios)-1 do
     begin
       // destruimos todos los objetos hijos del Frame de parametros
       //BfFormDestroy(Self, TGroupBox(WidgetName));
       with TFloatEdit.Create(Self) do
       begin
         Name      := 'FloatEdit'+ intToStr(i)+intToStr(j);
         Hint      := myAryServicios[i];
         Parent    := TGroupBox(WidgetName);
         Left      := 6;
         Top       := topXEdit;
         Font.Size := 8;
         Width     := Width + 4;
       end;
       // next
       topXEdit := topXEdit + 35;
     end;
   end;
 end;
////////////////////////////////////////////////////////////////////////////////

Gracias de antemano a todo el foro.

Pd.- Espero haberme explicado bien.

Última edición por marcoszorrilla fecha: 27-01-2005 a las 15:39:33. Razón: Añadir etiquetas Delphi
Responder Con Cita
  #2  
Antiguo 27-01-2005
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.272
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 jymy788
El problema lo tengo al crear los floatEdits porque no puedo ponerle como parent el groupbox correspondiente porque no se guardar su nombre.
¿Cuel es el problema?
¿Cual es el error?
Le he echado un vistazo al código y crea los controles bien.
__________________
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
  #3  
Antiguo 27-01-2005
jymy788 jymy788 is offline
Miembro
 
Registrado: jun 2004
Posts: 120
Poder: 20
jymy788 Va por buen camino
a mi me da un access violation. Si comento el bucle de los floatEdits me crea los gruopboxes sin problemas pero cuando dejo ese bucle, casca y me tiene de los putos nervios.

Sorry, estoy gilipollas, entre eso y el cvs que utilizamos en la oficina.... vamos que me estaba machacando los cambios que hacía sin que me enterara. Si te fijas en el código, en la creación de Edits cuando posiciona dentro del array hace un (i) cuando debería ser un (j).

Eso lo he cambiado un huevo de veces pero me machaca los cambios.

Gracias, por lo menos me hiciste darme cuenta del culpable, jejeje.
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


La franja horaria es GMT +2. Ahora son las 13:08:10.


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