Ver Mensaje Individual
  #1  
Antiguo 20-07-2010
LoPiTaL LoPiTaL is offline
Miembro
 
Registrado: abr 2009
Posts: 168
Reputación: 16
LoPiTaL Va por buen camino
Initialization block no se ejecuta

Hola a todos!
Tengo una duda que cuanto menos es sorprendente: tengo (simplificando el problema) dos units, una de ellas depende de la otra, y las dos tienen un bloque de initialization. Se ejecuta primero el bloque initialization que depende de la otra unit, mientras que el de ésta no se ejecuta, provocándome un error...
Os pongo un ejemplo:

unit 1:
Código Delphi [-]
...
implementation
uses
  unit2;
...
initialization
  RegisterLineClass(TAudioLine);

unit2:

Código Delphi [-]
...
implementation
var
  LinesList: TList;

procedure RegisterLineClass(ALineClass: TGraphPrivateLinkClass);
begin
  LinesList.Add(ALineClass);
  RegisterClass(ALineClass);
end;
...
initialization
  LinesList:=TList.Create;

La instrucción LinesList:=TList.Create no se ejecuta, por lo que la llamada a RegisterLineClass devuelve error de lectura en dirección 0x0000008....
¿A alguien le ha ocurrido esto alguna vez?? Y lo que es más importante ( ) ¿alguien sabe cómo corregirlo?

Un saludo,
LoPiTaL
Responder Con Cita