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 31-08-2010
Avatar de julyus
julyus julyus is offline
Miembro
 
Registrado: jul 2006
Ubicación: IN TO PLACES COLOMBIA AND EE.UU
Posts: 121
Poder: 18
julyus Va por buen camino
problema en for

no se que es este tipo de error ?? este codigo me produce el siguiente error e2081 FOR-loop variable i count


Código Delphi [-]
  for iCount := 0 to Length(aEventCode) - 1 do
        begin
          if aEventCode[iCount] = 1 then
          begin

            inc(iMessageId);
          end;
        end;
Responder Con Cita
  #2  
Antiguo 31-08-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Y qué es aEventCode y iMessageId?
Responder Con Cita
  #3  
Antiguo 31-08-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola julius.

e2081 FOR-loop variable i count: "Es ilegal para asignar un valor a la variable de bucle de control dentro del bucle for."
Pero evidentemente no es ese el problema...

¿ Podrías especificar de que tipo son las variables: aEventCode e iMessageId ?

Saludos.
Responder Con Cita
  #4  
Antiguo 31-08-2010
Avatar de julyus
julyus julyus is offline
Miembro
 
Registrado: jul 2006
Ubicación: IN TO PLACES COLOMBIA AND EE.UU
Posts: 121
Poder: 18
julyus Va por buen camino
hola casimiro

aEventCode es un array dinamico

iMessageId es una varibale que debo auto incrementar
cuando aEventCode[iCount] = 1


for iCount := 0 to Length(aEventCode) - 1 do
begin
if aEventCode[iCount] = 1 then
begin

inc(iMessageId);
end;
end;
Responder Con Cita
  #5  
Antiguo 31-08-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola julyus

Algo así pensé que era, te pongo la prueba que hice a ver si te orienta.(No dá ningún error)
Código Delphi [-]
...
var
  iMessageId: Integer;
implementation

procedure Prueba(aEventCode:array of Integer);
var
  iCount: Integer;
begin
  for iCount := 0 to Length(aEventCode) - 1 do
  begin
    if aEventCode[iCount] = 1 then
    begin
      inc(iMessageId);
    end;
  end;
end;

llamada:
Código Delphi [-]
    iMessageId:= 0;
    Prueba([1,2,1,3]);
    ShowMessage(IntToStr(iMessageId));// ok, muestra 2

Seguramente hay algo más involucrado que está provocando el fallo.
Si es una funcion/procedimiento: ¿ que parámetro pasas al llamarla ?

Saludos.
Responder Con Cita
  #6  
Antiguo 31-08-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Y cuánto vale Length(aEventCode) ?

Si lo que quieres es el mayor valor de aEventCode entonces será mejor usar high.

High(aEventCode)

Última edición por Casimiro Notevi fecha: 31-08-2010 a las 19:34:59.
Responder Con Cita
  #7  
Antiguo 31-08-2010
Avatar de Lord Delfos
Lord Delfos Lord Delfos is offline
Miembro
 
Registrado: ene 2008
Ubicación: Tandil, Argentina
Posts: 558
Poder: 17
Lord Delfos Va por buen camino
Otra cosa más, que probablemente no sea...

¿La variable iCount está declarada en el mismo procedimiento que el for? No puede estar afuera, digamos ser global.
Responder Con Cita
  #8  
Antiguo 31-08-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Mirando el código da la impresión que aEventCode es un parámetro de tipo arreglo, conteniendo códigos de algún evento.
Y que la intención es verificar aquellos que han generado un codigo '1' para obtener la sumatoria de ocurrencias de dichos eventos ...

No se me había ocurrido la posibilidad de que iCount fuese global, pero como bién ponés arriba, no genera error dentro del for.
Aunque es para tomarlo en cuenta, ya que el for altera su valor y podría generarlo después ...

Creo que tendremos que esperar la respuesta de Julyus.

Saludos.
Responder Con Cita
  #9  
Antiguo 31-08-2010
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Veo que de algunas versiones de Delphi a la fecha los mensajes de error y de advertencia del compilador llevan una clave.

julyus no ha puesto el mensaje de error exacto (según veo RAD estudio facilita copiar estos mensajes usando un simple Ctrl+C) ni tampoco nos ha mostrado las suficientes líneas de su rutina, por ello resultó difícil ayudarle.

El código de error E2081, corresponde, según arroja una simple búsqueda en Google, al intento por asignar valor a la variable de control del For dentro del propio ciclo. Impedimento que existe en el compilador de Borland desde hace muchos años, dado por la optimización que éste hace de los ciclos For.

http://docs.embarcadero.com/products...p_var_xml.html

Un saludo.

Al González.
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 11:24:11.


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