Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Alterar el orden en que las clases ejecutan su código initialization (https://www.clubdelphi.com/foros/showthread.php?t=64514)

noob 05-04-2009 13:00:48

Alterar el orden en que las clases ejecutan su código initialization
 
Hola me gustaría saber cómo puedo hacer para que una unidad ejecute su código de initialization antes que otra.

Saludos.

Crandel 05-04-2009 13:59:23

te referis a la seccion de initialization de la unit o a la creacion de una clase ?

noob 05-04-2009 14:57:53

Al initialization de la unit.

dec 05-04-2009 15:29:51

Hola,

Debes incluir la unidad antes que la otra. Valga un ejemplo:

Unidad 1:

Código Delphi [-]
unit Unit1;

interface

uses
  Forms, Unit2, Unit3;

type
  TForm1 = class(TForm)
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

end.

Unidad 2

Código Delphi [-]
unit Unit2;

interface

implementation

uses
  Dialogs;

initialization
  ShowMessage('Hello from Unit2.pas');

end.

Unidad 3

Código Delphi [-]
unit Unit3;

interface

implementation

uses
  Dialogs;

initialization
  ShowMessage('Hello from Unit3.pas');

end.

En este caso, lo que verás primero será el "Hola" de la unidad 2. Pero, puedes cambiar el orden:

Código Delphi [-]
unit Unit1;

interface

uses
  Forms, Unit3, Unit2;

type
  TForm1 = class(TForm)
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

end.

Y verás entonces primero el "Hola" de la unidad 3.

noob 05-04-2009 15:58:36

¡Muchas gracias!

Crandel 06-04-2009 09:04:10

Hola noob, la solución es tal cual te comenta Dec, pero igualmente tener units que dependan del uno del otro en el orden de inicialización, no es algo que realmente yo recomendaría.

Intenta buscar otra solución, con una programación mas adecuada orientada a objetos.


La franja horaria es GMT +2. Ahora son las 00:10:54.

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