Autor Beitrag
trm
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 491
Erhaltene Danke: 19

Windows 7x64
Delphi 7
BeitragVerfasst: Sa 26.05.12 14:37 
Hallo,

meine Frage ist evtl. schon oft behandelt, aber ich habe nichts gefunden oder falsch gesucht.

In eienr Unit habe ich Typen deklariert.
In einer zweiten Unit binde ich die 1. Unit ein, um Variablen mit den Typen zu deklarieren.
In der 3. Unit wird die 2. unit eingebunden, so dass die Typenunit hier nicht bekannt ist.

Also wird ein Type nicht über mehrere Units vererbt und ich muss die 1. Unit in die 3. auch einbinden, damit der Type bekannt ist ?

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
// Unit 1
type
  TTextAlignX = (dsLeft, dsCenter, dsRight);

  TTest=record
    fText_horizontal: TTextAlignX;
  end;

// Unit 2
uses Unit1;

type
  TTestClass = class
  private
  public
    Test1: TTest;
[..]

//Unit 3
uses Unit2;

var nocheintest:TTestClass;

//wie kann ich hier eine Zuweisung vornehmen ?

nocheintest.Test1.fText_horizontal := dsLeft;



Moderiert von user profile iconNarses: Topic aus Sonstiges (Delphi) verschoben am Sa 26.05.2012 um 17:07

_________________
In Erfurt gibt es eine Pension, in der es gemütlich ist, Google einfach nach Pension Fiege ;)
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 26.05.12 15:15 
Packe einfach in Unit 2:
ausblenden Delphi-Quelltext
1:
  TTextAlignX = Unit1.TTextAlignX;					
Dadurch wird der Typ auch über diese Unit verfügbar gemacht.
trm Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 491
Erhaltene Danke: 19

Windows 7x64
Delphi 7
BeitragVerfasst: Sa 26.05.12 18:17 
Und was ist der Unterschied zur uses-Einbindung ?

_________________
In Erfurt gibt es eine Pension, in der es gemütlich ist, Google einfach nach Pension Fiege ;)
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 26.05.12 18:23 
Der Typ kann dann ggf. nicht vom Compiler inline eingebaut werden (sprich die Optimierung ist etwas schlechter). Wenn das der Fall ist, kommt aber eine entsprechende Compilermeldung, in der auch steht, welche Unit eingebunden werden sollte. In den meisten Fällen sollte es aber keinen Unterschied machen und ich glaube das inline-Problem gibt es nur bei komplexeren Typen wie Records (denn Konstanten wie hier werden eh nur ersetzt).
trm Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 491
Erhaltene Danke: 19

Windows 7x64
Delphi 7
BeitragVerfasst: Sa 26.05.12 19:47 
Vielen Dank :)

_________________
In Erfurt gibt es eine Pension, in der es gemütlich ist, Google einfach nach Pension Fiege ;)