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

 
 
Herramientas Buscar en Tema Desplegado
  #3  
Antiguo 07-05-2004
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 vrortiz
Mas sin embargo me marca errores, alguien puede ayudarme......
Pues como dice mi compañero jachguate, tienes que ser más explícito e informativo para que podamos ayudarte.

---------------
Sin embargo voy a hacerle de adivino aunque, claro está, puedo equivocarme.

Los errores que te marca son al momento de compilar y son del estilo

Cita:
Empezado por compilador de Delphi
Undeclared Identifier
Los indicios que me llevan a tal conjetura son:

1. El procedimiento casa no es método de ninguna clase (vamos, de ningún formulario) ya que no va prefijado por un identificador y un punto como en

Código Delphi [-]
procedure TForm1.casa();
begin
  ...
end;

2. Por tanto identificadores como ComboBox3 y DataModule2 tendrían que ser variables declaradas en un contexto global.

3. Aunque posible esto último es altamente improbable y en todo caso contrario a las buenas reglas de programación. Lo común es que se refieran a componentes insertadas en un formulario.

4. Por tanto el compilador no sabe a qué variables se refieren y marca el error.

La solución a esto sería prefijar los mencionados identificadores con la clase a la que pertenezcan, por ejemplo:

Código Delphi [-]
Form1.DataModule2.Table3.First;

Lo cual, no obstante, sería muy extraño y poco recomendable: que un procedimiento global haga referencia a un formulario en particular.

En otras palabras, supongo que estás tratando de manipular un formulario desde un procedimiento global y veo dos opciones:

a. Implementas el procedimiento como método del formulario:

Código Delphi [-]
type
  TForm1 = class
  public
    procedure casa();
  end;

...

procedure TForm1.casa();
begin
  ...
end;

b. o pasas el formulario como parámetro al procedimiento:

Código Delphi [-]
procedure casa(Form: TForm);
begin
  Form.ComboBox3.Items.Clear;
  Form.ComboBox4.Items.Clear;

  etcétera
end;

Aunque la opción b sólo sería indicada para un procedimiento de caracter muy general que pueda aplicarse a varios formularios (lo cual no creo que sea el caso).

Bueno, si mis adivinanzas no tienen nada que ver con la realidad no será culpa mía.



// Saludos
Responder Con Cita
 


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


La franja horaria es GMT +2. Ahora son las 20:09:31.


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