Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Problem: Units definieren sich gegenseitig... (https://www.delphipraxis.net/103423-problem-units-definieren-sich-gegenseitig.html)

herkulesamstart 15. Nov 2007 14:57


Problem: Units definieren sich gegenseitig...
 
Hallo,

ich hab ein Problem beim einbinden meiner Unit (Stack) ins Hauptprogramm. Das Problem liegt darin, dass sie gegenseitig informationen austauschen sollen. In meiner Haupt-Unit soll definiert werden um welchen Typ von Info es sich in meinem Stack handel soll und in der der anderen wird der Stack selber definiert, der dann später in der main-unit auch genutzt werden soll.
Nun weiss meine Stack-Unit allerdings nicht um welchen Typ von info es geht, da ich die Unit ja vor der Typisierung einbinden muss oder nicht?

Ich weiss, dass ich das Problem umgehen kann, indem ich Tinfo in der Stack-Unit Typisiere bzw dort einfach deklariere, allerdings möchte ich eine etwas flexiblere Nutzung der Stack-Unit für mich gewinnen. Ich möchte nicht erst vor Gebrauch der Unit diese selber umschreiben müssen, sondern einfach den Typen definieren.

Delphi-Quellcode:
unit main;

interface

USES stack;

TYPE
  Tinfo = Integer;
  //Tinfo = String;

VAR
  st1 :Tstack;
implementation

end.
Delphi-Quellcode:
unit stack;

interface

TYPE tstack = RECORD
                 info : ARRAY OF tinfo;
                 next : integer;
               END;

implementation
end.
Gruß herkulesamstart

Progman 15. Nov 2007 15:03

Re: Problem: Units definieren sich gegenseitig...
 
Delphi-Quellcode:
VAR
  stack :Tstack;
solltest Du ändern, ne Var darf nicht so heißen wie ne Unit.

herkulesamstart 15. Nov 2007 15:04

Re: Problem: Units definieren sich gegenseitig...
 
tut sie bei mir im quellcode auch nicht, aber danke das wusste ich z.B. auch noch nicht.

mkinzler 15. Nov 2007 15:08

Re: Problem: Units definieren sich gegenseitig...
 
Entweder Main unter implementation einbinden oder 3. unit, welche von den anderen eingebunden wird.

Sharky 15. Nov 2007 15:27

Re: Problem: Units definieren sich gegenseitig...
 
Zitat:

Zitat von mkinzler
Entweder Main unter implementation einbinden oder 3. unit, welche von den anderen eingebunden wird.

Ich würde immer versuchen diese Kreuzbezüge zu verhindern und darum, so wie von mkinzler vorgeschlagen, mit einer dritten Unit (z.B. StackTypes zu arbeiten. In dieser dann die Typen deklarieren und in beiden einbinden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:30 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz