AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Angeblich nicht deklariert ?!

Ein Thema von aaaaaaaaaa_10 · begonnen am 14. Jul 2009 · letzter Beitrag vom 15. Jul 2009
Antwort Antwort
Seite 2 von 3     12 3      
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#11

Re: Angeblich nicht deklariert ?!

  Alt 14. Jul 2009, 08:40
Hallo,

Zitat:
Aber wie kommt es dass ein Teil (bis br9600) angeblich deklariert ist?
Viell. weil das die andere Unit schon gemacht hat.

Kommentier mal den Code ab br9600 aus,
dann Ctrl + linke Maustaste auf TBaudrate, dann sollte die IDE
in die Unit springen, wo es für den Compiler definiert ist.

Viell. reicht es auch, die Maus darüber zu ziehen (Tool-Tip).


Hast du das unit_1.TBaudrate denn schon mal ausprobiert ?


Heiko
Heiko
  Mit Zitat antworten Zitat
aaaaaaaaaa_10
(Gast)

n/a Beiträge
 
#12

Re: Angeblich nicht deklariert ?!

  Alt 14. Jul 2009, 08:53
Zitat:
Hast du das unit_1.TBaudrate denn schon mal ausprobiert ?
Ja,hab ich,aber macht keinen Unterschied.

Wenn ich mir den Hinweis anzeigen lassen (mit Maus drüber fahren) steht das da :
type DGLoabls.TBaudrate: br1200..br57600 - DGloabls.pas
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#13

Re: Angeblich nicht deklariert ?!

  Alt 14. Jul 2009, 09:02
Hallo,

da hast du die Unit, die es schon definiert hat.
Falls sie nicht im Interface deiner eigenen Unit steht,
wird sie von einer der Interface-Units selber referenziert.

Aber:
ein unit_1.TBaudrate in deinem Record muss funktionieren.

Zeig doch mal deine komplette Unit.


Heiko
Heiko
  Mit Zitat antworten Zitat
aaaaaaaaaa_10
(Gast)

n/a Beiträge
 
#14

Re: Angeblich nicht deklariert ?!

  Alt 14. Jul 2009, 09:35
Wäre zu viel... Die Unit, wo die Var deklariert sind, hatte ich eingebunden in der Unit, wo ich sie benutze
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#15

Re: Angeblich nicht deklariert ?!

  Alt 14. Jul 2009, 09:42
Hallo,

was steht eigentlich, wenn du per Maus auf

br1200 im Case gehst ?

Ich denke, auch dort nimmt er das aus der anderen Unit.

Als Trick könntest deine TBaudrate Definition in eine eigene
Unit packen und die als erstes in Interface-Teil reinpacken.

U.U. funktioniert dann aber die andere Unit nicht ...


#update:#
Was passiert eigentlich, wenn du das TBaudrate ins Implementation packst ?

Oder du machst folgendes:
Delphi-Quellcode:
type
  TBaudRate = Integer;
const
  c_br1200 = 0;
  c_br2400 = 1;
#update2:#
Hast du den Qellcode der DGloabls Unit ?
Ist dort der 19200 definiert ?


Heiko
Heiko
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#16

Re: Angeblich nicht deklariert ?!

  Alt 14. Jul 2009, 09:58
Hallo

Zitat:
Aber die beiden Dinge sind doch in derselben Unit.
Zitat:
Wäre zu viel... Die Unit, wo die Var deklariert sind, hatte ich eingebunden in der Unit, wo ich sie benutze
Was ist denn nun definiert, Variablen oder Typen ?
Doch 2 Units ?



Heiko
Heiko
  Mit Zitat antworten Zitat
aaaaaaaaaa_10
(Gast)

n/a Beiträge
 
#17

Re: Angeblich nicht deklariert ?!

  Alt 14. Jul 2009, 10:05
Zitat:
was steht eigentlich, wenn du per Maus auf

br1200 im Case gehst ?
Da kommt nix.

Zitat:
Hast du den Qellcode der DGloabls Unit ?
Ist dort der 19200 definiert ?
Den Quellcode hab ich,aber da ist nix von den ganzen brxxxx definiert
  Mit Zitat antworten Zitat
aaaaaaaaaa_10
(Gast)

n/a Beiträge
 
#18

Re: Angeblich nicht deklariert ?!

  Alt 14. Jul 2009, 10:07
Delphi-Quellcode:
 TBaudrate = (br1200, br2400, br4800, br9600, br19200, br38400, br57600);

TVerbParam = record
    Baudrate: TBaudrate;
Das steht in Unit1 und das:
Delphi-Quellcode:
 case (theVerbParam.Baudrate) of
      br1200: comPort.Baud := 1200;
      br2400: comPort.Baud := 2400;
      br4800: comPort.Baud := 4800;
      br9600: comPort.Baud := 9600;
      br19200: comPort.Baud := 19200;
      br38400: comPort.Baud := 38400;
      br57600: comPort.Baud := 57600;
    end;
in Unit2. Unit1 habe ich in Unit2 eingebunden
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#19

Re: Angeblich nicht deklariert ?!

  Alt 14. Jul 2009, 10:18
Hallo,

Und das folgende hast du schon versucht ?
Delphi-Quellcode:
TVerbParam = record
    Baudrate: Unit1.TBaudrate;
Ansonsten, ohne (nicht funktionierendes) Minimal-Bsp. ist dir nicht zu helfen.

Auf jeden Fall ist es ein Typ-Konflikt mit einem gleichlautenden Typ einer anderen Unit (DGlobals).

Was für ein Delphi hast du denn ?

Wie sieht TBaudrate in der DGlobals aus ?


Heiko
Heiko
  Mit Zitat antworten Zitat
aaaaaaaaaa_10
(Gast)

n/a Beiträge
 
#20

Re: Angeblich nicht deklariert ?!

  Alt 14. Jul 2009, 10:24
ja,das hab ich probiert.

delphi6 hab ich.

mich wundert es halt nur, dass die ertsten 4 def erkannt werden und die letzten 3 nicht...



TBaudrate = (br1200, br2400, br4800, br9600, br19200, br38400, br57600); so sieht das in DGlobals.pas aus
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz