Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Como accedo a procedimientos de mi unit? (https://www.clubdelphi.com/foros/showthread.php?t=31444)

MadeInBsAs 08-05-2006 17:21:31

Como accedo a procedimientos de mi unit?
 
Hola, tengo un pequeño problema.
Tengo la Unit A con procedimientos x
En la unit B, cree unos procedimientos, pero no puedo acceder a ellos desde A.. Ya estan declarados en la seccion USES de la unit A (Uses UnitB) pero aun asi, el compilador no logra "ver" a los procedimientos de UnitB.
Se entiende?
Que bueno porque yo no entendi nada. :D
No, en serio; probe declarando a A tambien en B, pero me tira un error de no se que referencia circular o algo por el estilo...
Resumen: Como accedo desde la Unit A a los procedimientos de unit B.
Gracias.

Neftali [Germán.Estévez] 08-05-2006 17:27:59

Cita:

Empezado por MadeInBsAs
...probe declarando a A tambien en B, pero me tira un error de no se que referencia circular o algo por el estilo...

Intenta poner los USES de ambas units en la parte de implementación en lugar de en la parte de Interficie; Si consigues bajar uno de los dos USES a la parte de Implementación evitarás de "Referencia circular".

delphi.com.ar 08-05-2006 17:46:46

Cita:

Empezado por MadeInBsAs
...Tengo la Unit A con procedimientos x
En la unit B, cree unos procedimientos, pero no puedo acceder a ellos desde A.. Ya estan declarados en la seccion USES de la unit A (Uses UnitB) pero aun asi, el compilador no logra "ver" a los procedimientos de UnitB.
Se entiende?...

Para que un procedimiento sea público, y pueda ser accedido desde cualquier unit, es importante que declares al interfaz, esto lo haces poniendo su declaración el el bloque interface de la unit. Si no has definido la interfaz, no solo será privado para su uso dentro de la unit donde esta implementado, sino que solo lo verán los procedimientos que se implementen en posteriormente a este.

Código Delphi [-]
unit Unit1;

interface

procedure ProcA;

implementation

procedure ProcA;
begin
  {...}
end;

end.
Código Delphi [-]
unit Unit2;

interface

implementation

uses
  Unit1;

procedure ProcB;
begin
  ProcA;
end;

end.

Saludos!

MadeInBsAs 08-05-2006 23:30:11

Cita:

Empezado por delphi.com.ar
Código Delphi [-]
unit Unit2;

interface

implementation

uses
Unit1;
procedure ProcB;
begin
ProcA;
end;

end.

Saludos!

Creo que mi error esta en que pongo el Uses Unit1 entre las palabrasreservadas INTERFACE e IMPLEMENTATION :(
Bueno, llego a casa y me fijo, igualmente luego copiare en mi pendrive tu
explicacion ya que ahora no tengo nada en que copiarla.
Gracias a ambos!


La franja horaria es GMT +2. Ahora son las 10:32:41.

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