PDA

Ver la Versión Completa : Identificador no declarado


Enan0
16-02-2005, 17:29:36
HOla amigos posteo aca ya que no se donde hacerlo, estoy revisando un codigo de una aplicacion de mi empresa y me pasa algo que desonozco

en el sig codigo de delphi 5

f ConfigSys1[calSysType]='' then // Helt ny database
begin
// Connection 1
{$ifdef cal1_TT} ConfigSys1[calSysType]:=IntToStr(sysTaskTimer51); {$else}
{$ifdef cal1_TT51} ConfigSys1[calSysType]:=IntToStr(sysTaskTimer51); {$else}
{$ifdef cal1_TT52} ConfigSys1[calSysType]:=IntToStr(sysTaskTimer52); {$else}
{$ifdef cal1_USWP} ConfigSys1[calSysType]:=IntToStr(sysUSWPJ); {$else}
{$ifdef cal1_Notes} ConfigSys1[calSysType]:=IntToStr(sysNotes); {$else}
--- Ingen kalendar system 1 defineret????
{$endif}{$endif}{$endif}{$endif}{$endif}
ConfigSys1[calGenerelConnect]:='';
ConfigSys1[calUserID]:='';
ConfigSys1[calUserPassword]:='';

{$ifdef udv}
ConfigSync[cfgDeleteFilename]:=CDeleteLogName;
{$endif}

// Connection 2
{$ifdef cal2_TT} ConfigSys2[calSysType]:=IntToStr(sysTaskTimer51); {$else}
{$ifdef cal2_TT51} ConfigSys2[calSysType]:=IntToStr(sysTaskTimer51); {$else}
{$ifdef cal2_TT52} ConfigSys2[calSysType]:=IntToStr(sysTaskTimer52); {$else}
{$ifdef cal2_USWP} ConfigSys2[calSysType]:=IntToStr(sysUSWPJ); {$else}
{$ifdef cal2_Notes} ConfigSys2[calSysType]:=IntToStr(sysNotes); {$else}
{$ifdef cal2_Olk} ConfigSys2[calSysType]:=IntToStr(sysOutlook); {$else}
--- Ingen kalendar system 2 defineret????
{$endif}{$endif}{$endif}{$endif}{$endif}{$endif}
ConfigSys2[calGenerelConnect]:='';
ConfigSys2[calUserID]:='';
ConfigSys2[calUserPassword]:='';



En esa linea me da un error de identificador no declarado en "Ingen"
el problema es que esta tambien debajo pero ahi no da problema si comento la primer opcion.. funciona bien.. pero en la seccion color BODRO y GRANDE.. me da ese Error.
Alguien puede darme una mano??
y otra cosa algun lugar para leer sobre {$ifdef} este tipo de etiquetas??

Gracias!!!

roman
16-02-2005, 17:48:21
{$ifedf} es una directiva al compilador. Si satisfacen las condiciones se compila y si no, no.

Estarás de acuerdo que una línea como

--- Ingen kalendar system 1 defineret????

no puede compilar. En la segunda ocurrencia, {$ifdef cal2_Olk}, seguramente el símbolo cal2_Olk no está definido de manera que el compilador no intenta siquiera compilar lo que sigue y por eso no marca error. En la primera aparición, supongo que el símbolo cal1_Notes sí está definido por lo que la línea si se intenta compilar. Al ser errónea se marca el error.

Los símbolos se definen con la directiva {$define}

// Saludos

Enan0
16-02-2005, 18:58:51
Gracias Roman, porque la verdad es que no interpretaba is podia ser una directiva mas o no...
un millon de gracias