Hallo,
bisher habe ich immer gedacht, dass man zwei Units nicht überkreuzen kann. Heute wurde ich eines besseren belehrt.
Delphi-Quellcode:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Unit2;
...
Delphi-Quellcode:
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Unit1;
--> So kannte ich es bisher immer. Das funktioniert auch nicht. Es kommt folgende Meldung:
[Pascal Fataler Fehler] Unit1.pas(7): F2047 Zirkuläre
Unit-Referenz auf 'Unit1'
Wenn ich es aber so mache, dann funktioniert es:
Delphi-Quellcode:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 =
class(TForm)
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
implementation
uses Unit2;
{$R *.dfm}
end.
Delphi-Quellcode:
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm2 =
class(TForm)
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form2: TForm2;
implementation
uses Unit1;
{$R *.dfm}
end.
Meine Frage ist nun, ob das ein Bug in Delphi ist oder steckt das vieleicht auch ein sinn dahinter?
Warum gehte es nicht wenn ich die
Unit oben einbinde und wenn ich es unten mache, dann geht es?!?!?!
Das verwirrt mich jetzt ein bisschen...
Wer kann meine dunklen stellen ein bisschen beleuchten?
MFG Christian18