Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #4  
Antiguo 21-07-2010
LoPiTaL LoPiTaL is offline
Miembro
 
Registrado: abr 2009
Posts: 168
Poder: 18
LoPiTaL Va por buen camino
Vale, rebuscando por internet he visto que el orden en que se inicializan las units no es siempre como se declaran las units en los uses, ya que si dependen también entre ellas en la parte implementation el compilador lo hace como le da la gana...
Al final, y para no tener que hacer el truco de inicializar cosas de la unit2 en la unit1 como dice "rgstuamigo" utilizo

Código Delphi [-]
procedure RegisterLineClass(ALineClass: TGraphPrivateLinkClass);
begin
  if not assigned(LinesList) then
    LinesList:=TList.Create;
  LinesList.Add(ALineClass);
  RegisterClass(ALineClass);
end;

y en la parte initialization también compruebo si está o no asignada para crearla o no.

Como os digo, rebuscando en internet encontré que esto es más bien un bug del compilador de Delphi:

http://qc.embarcadero.com/wc/qcmain.aspx?d=72245

Aquí exponen que el orden initialization que se espera NO es el que se obtiene, y que además ocurre en todas las versiones de Delphi. Incluyen un ejemplo y todo para demostrar el problema.

Yo por mi parte llego a la conclusión de que en el bloque initialization no debe utilizar otras variables/funciones de otra unit, y que si las utiliza, dichos objetos se deben inicializar manualmente (con un init propio) para estar seguro de que no va a fallar.

Gracias por los comentarios y ayuda,
Un saludo,
LoPiTaL
Responder Con Cita
 



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
Alterar el orden en que las clases ejecutan su código initialization noob Varios 5 06-04-2009 09:04:10
Orden de initialization y finalization mauro_med Varios 0 24-04-2008 00:30:32
con breakpoint ejecuta y sin el no lo ejecuta. pacuuy Varios 1 16-12-2007 13:41:43
EL Initialization en C++??? aeff C++ Builder 4 26-07-2007 08:00:43
Error dbExpress vendor initialization failed ivan022481 Conexión con bases de datos 1 26-06-2007 04:15:44


La franja horaria es GMT +2. Ahora son las 23:47:47.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi