Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-02-2006
gelitus gelitus is offline
Registrado
 
Registrado: feb 2006
Posts: 3
Poder: 0
gelitus Va por buen camino
problemas con combobox

Estoy teniendo problemas para agregar items a un combobox, este es el codigo:

Código Delphi [-]
unit Principal;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls,Datos;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Label1: TLabel;

    procedure Button1Click(Sender: TObject);


  private
    { Private declarations }
  public
  end;
const
  n:integer =40;
var
  Form1: TForm1;
  clases: array[1..5] of string;
  i:integer;

implementation


{$R *.dfm}



procedure TForm1.Button1Click(Sender: TObject);
begin
close;
end;


begin
  clases[1]:='Asietos';
  clases[2]:='Caño de Asiento';
  clases[3]:='Collar izq';
  clases[4]:='Cuadro';
  clases[5]:='Orquilla';

  for i:=1 to 5 do
    begin
      Form1.ComboBox1.Items.Add(clases[i]);
    end;





end.

Cuando complilo me salta el siguiente error:

Project Project1.exe raised exception class EAccessViolation with message 'Access Violation at address 00499B54 in module 'Project1.exe'. Read of address 00000304'. Process stopped. Uses Step or runn to continue.

Si alguien tiene idea de que estoy haciendo mal, o tiene otra forma de hacerlo, agradeceria su ayuda.
Responder Con Cita
  #2  
Antiguo 07-02-2006
Jose_Pérez Jose_Pérez is offline
Miembro
 
Registrado: may 2003
Posts: 156
Poder: 21
Jose_Pérez Va por buen camino
Hola Gelitus:

Dos preguntas para entender mejor el problema:

1.- ¿Cuando se produce el error, al compilar o cuando pulsas Button1?

2.- ¿Exactamente que hace el programa cuando pulsas el Button1; un close (del TForm ¿?) o rellenar el ComboBox?

Última edición por Jose_Pérez fecha: 07-02-2006 a las 15:07:34.
Responder Con Cita
  #3  
Antiguo 07-02-2006
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Saludos


Cuando se crea el ComboBox1????? No lo veo creado en ningun lado!
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #4  
Antiguo 07-02-2006
gelitus gelitus is offline
Registrado
 
Registrado: feb 2006
Posts: 3
Poder: 0
gelitus Va por buen camino
Aca esta el cod mas simple, solo con el combobox:
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    ComboBox1: TComboBox;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  clases:array[1..5] of string;
  i:integer;

implementation

{$R *.dfm}
begin
  clases[1]:='Asietos';
  clases[2]:='Caño de Asiento';
  clases[3]:='Collar izq';
  clases[4]:='Cuadro';
  clases[5]:='Orquilla';

  for i:=1 to 5 do
    begin
      Form1.ComboBox1.Items.Add(clases[i]);
    end;
end.

El error se produce cuando presiono F9 para compilar.

Si escribo algo como:

Código Delphi [-]
     Form1.ComboBox2.Items:= Form1.ComboBox1.Items


No tengo idea que puede ser...
Responder Con Cita
  #5  
Antiguo 07-02-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Nosotros tampoco. ¿Cuál es el error que se produce al oprimir F9? ¿Quién es ComboBox2 y qué pasa cuando escribes algo así?

// Saludos
Responder Con Cita
  #6  
Antiguo 07-02-2006
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Saludos

Copia y pega el codigo real que tienes por que el anterior no tiene procedimiento ni na.... Falta algo!
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #7  
Antiguo 07-02-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por vtdeleon
Falta algo!
¡Ahhh! Pues creo que ese es precisamente el problema, ¡que no falta nada!, ja, ja. De verdad Troi, te lo juro, esa cosa compila. Pero es que el begin que aparentemente no tiene procedimiento, es el begin de la unidad y funciona aparentemente como una sección initialization; y claro, los objetos aún no han sido construidos para cuando se pasa por ahí.

// Saludos
Responder Con Cita
  #8  
Antiguo 07-02-2006
gelitus gelitus is offline
Registrado
 
Registrado: feb 2006
Posts: 3
Poder: 0
gelitus Va por buen camino
Tenias razon roman, era problema de que intentaba cargar el combobox cuando aun no estaba creado en el formulario. Pero ahora me surge otra pregunta: en que momento o evento o donde debo agregarle los items al combobox?????
Responder Con Cita
  #9  
Antiguo 07-02-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
El evento OnCreate del formulario tiene un nombre particularmente sugerente ¿no crees?

// Saludos
Responder Con Cita
  #10  
Antiguo 07-02-2006
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Saludos
Cita:
Empezado por roman
Pero es que el begin que aparentemente no tiene procedimiento, es el begin de la unidad y funciona aparentemente como una sección initialization;...
Ooooh, esto no me la sabia.
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #11  
Antiguo 15-05-2007
yhoda yhoda is offline
Miembro
 
Registrado: may 2007
Ubicación: Cuernavaca
Posts: 18
Poder: 0
yhoda Va por buen camino
yo hize algo similar pero el cada vez que selecciono el combobox se agregan todos los valore sde nuevo, como lo puedo solucionar?
__________________
"la prueba maxima de un Thetán es hacer que las cosas vayan bien"
Responder Con Cita
  #12  
Antiguo 15-05-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
abria que ver como lo estas haciendo, no crees, similar es muchas cosas.
El codigo que lo le funciono a gelitus, era por una simple mala colocacion del begin.
En tu caso, que sera?.
Analiza este:
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    ComboBox1: TComboBox;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

const
  n:integer =40;
var
  Form1: TForm1;
  clases: array[1..5] of string;
  i:integer;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
   clases[1]:='Asietos';
  clases[2]:='Caño de Asiento';
  clases[3]:='Collar izq';
  clases[4]:='Cuadro';
  clases[5]:='Orquilla';

  for i:=1 to 5 do
    begin
      Form1.ComboBox1.Items.Add(clases[i]);
    end;
end;
es el mismo que el de arriba solo que ordenado, pruebalo.
Saludos
Responder Con Cita
  #13  
Antiguo 23-10-2007
douglas douglas is offline
Miembro
 
Registrado: jul 2007
Posts: 145
Poder: 17
douglas Va por buen camino
Cita:
Empezado por yhoda Ver Mensaje
yo hize algo similar pero el cada vez que selecciono el combobox se agregan todos los valore sde nuevo, como lo puedo solucionar?
okay si estas trabajando ezsa funcion en un boton, y no mandas una orden de limpiado al inicio de los procedimientos, el programa lo que hara es colocar bajado de todo lo que tenga el combobox, por eso es que se te repiten y repiten cada vez que presionas el boton, trabaja algo asi

Código PHP:
procedure TForm1.Button1Click(SenderTObject);
begin
       combobox1
.clear;
       
cosas[1]:='sillas';
       
cosas[2]:='mesas';
       
cosas[3]:='platos';
       
cosas[4]:='cuchillos';
       
cosas[5]:='tenedores';
       for 
i:=1 to 5 do 
       
begin 
              combobox1
.items.add(cosas[i]);
       
end;
end
de esta manera cada ves que preciones el boton, inmediatamente limipara tu combobox, y luego lo rellenara con la informacion que necesitas, espero que te sirva la informacion y cualquier cosa que ncesites no dudes en pedir ayuda.
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
Problemas con instalacion y archivo idr20009.dll allende Varios 0 19-01-2006 15:46:33
Problemas con un combobox pyanqn Firebird e Interbase 1 27-10-2005 19:20:59
capturar texto no seleccionado, ComboBox sakuragi OOP 3 10-08-2005 23:28:22
Filtrar datos con los Combobox o DBComboBox thecarlos Varios 3 09-01-2004 09:55:15
2 problemas migueilichenco Conexión con bases de datos 7 08-08-2003 09:47:43


La franja horaria es GMT +2. Ahora son las 14:12:56.


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