Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Redefinition eines Typs wird nicht erkannt (https://www.delphipraxis.net/161899-redefinition-eines-typs-wird-nicht-erkannt.html)

p80286 26. Jul 2011 17:30

Redefinition eines Typs wird nicht erkannt
 
Hallo zusammen,

durch Zufall ist mir aufgefallen, daß ich in zwei Units, die im gleichen Programm genutzt werden, den gleichen Typ definiert habe:

Delphi-Quellcode:
Unit1 
interface
type
  t_pnr      = array [1..8] of char;

Unit2
interface
uses
  Unit1;
type
  t_pnr      = array [1..8] of char;
Ich habe eigentlich angenommen, daß ich jetzt so richtig Fehlermeldungen bekomme, aber still ruht der See.
Wenn iich die Definition in Unit2 auskommentiere hagelt es Fehlermeldungen. Also wird die Definition in Unit1 nicht erkannt, aber warum?

(die DCUs habe ich alle gelöscht)
Gruß
K-H

Uwe Raabe 26. Jul 2011 17:41

AW: Redefinition eines Typs wird nicht erkannt
 
Zitat:

Zitat von p80286 (Beitrag 1113675)
Hallo zusammen,

durch Zufall ist mir aufgefallen, daß ich in zwei Units, die im gleichen Programm genutzt werden, den gleichen Typ definiert habe:

Delphi-Quellcode:
Unit1 
interface
type
  t_pnr      = array [1..8] of char;

Unit2
interface
uses
  Unit1;
type
  t_pnr      = array [1..8] of char;
Ich habe eigentlich angenommen, daß ich jetzt so richtig Fehlermeldungen bekomme, aber still ruht der See.

Das ist sowohl syntaktisch korrekt, durchaus erlaubt und überdies auch manchmal auch so gemeint.


Zitat:

Zitat von p80286 (Beitrag 1113675)
Wenn iich die Definition in Unit2 auskommentiere hagelt es Fehlermeldungen. Also wird die Definition in Unit1 nicht erkannt, aber warum?

Wo kommen denn die Fehlermeldungen und wie lauten sie?

DeddyH 26. Jul 2011 17:47

AW: Redefinition eines Typs wird nicht erkannt
 
Das kann ich hier nicht nachvollziehen. Solange der Typ im Interface-Abschnitt deklariert ist, kann ich ihn auch in der anderen Unit benutzen. Allerdings habe ich mir eine vorherige erneute Deklaration gespart.

p80286 26. Jul 2011 22:16

AW: Redefinition eines Typs wird nicht erkannt
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1113678)
Wo kommen denn die Fehlermeldungen und wie lauten sie?

unbekannter Typ "T_pnr".

Zitat:

Zitat von DeddyH (Beitrag 1113679)
Solange der Typ im Interface-Abschnitt deklariert ist, kann ich ihn auch in der anderen Unit benutzen.

Ist korrekt, ich war über die Redifinition einer Variablen gestolpert.


Gruß
K-H

Blup 27. Jul 2011 07:36

AW: Redefinition eines Typs wird nicht erkannt
 
Zitat:

Zitat von p80286 (Beitrag 1113710)
Zitat:

Zitat von Uwe Raabe (Beitrag 1113678)
Wo kommen denn die Fehlermeldungen und wie lauten sie?

unbekannter Typ "T_pnr".

Zitat:

Zitat von DeddyH (Beitrag 1113679)
Solange der Typ im Interface-Abschnitt deklariert ist, kann ich ihn auch in der anderen Unit benutzen.


Der Typ kann erst in Zeilen verwendet werden, die nach dem
Delphi-Quellcode:
uses Unit1;
stehen.

p80286 27. Jul 2011 09:25

AW: Redefinition eines Typs wird nicht erkannt
 
Schande über mich, Ich hatte einen kommentar sehr unglücklich gesetzt (weit rechts ausserhalb der Anzeige).

Könnte man das hier bitte löschen?

Gruß
K-H


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:37 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