AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Angeblich nicht deklariert ?!

Ein Thema von aaaaaaaaaa_10 · begonnen am 14. Jul 2009 · letzter Beitrag vom 15. Jul 2009
Antwort Antwort
Seite 1 von 3  1 23   
aaaaaaaaaa_10
(Gast)

n/a Beiträge
 
#1

Angeblich nicht deklariert ?!

  Alt 14. Jul 2009, 07:10
Hallo,
ich hab das Problem, dass angeblich alles ab br19200 nicht deklariert ist, aber ist es doch oder?

TBaudrate = (br1200, br2400, br4800, br9600, [b]br19200, br38400, br57600[/b]);
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;
Ich weiß nicht, was es sein könnte.
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: Angeblich nicht deklariert ?!

  Alt 14. Jul 2009, 07:18
TBaudrate gibt es 2x in deinem Code. Wenn 'TBaudrate' in der Unit 'FooBar' deklariert ist, dann deklariere 'theVerbParam.Baudrate' als 'Foobar.TBaudrate'.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
aaaaaaaaaa_10
(Gast)

n/a Beiträge
 
#3

Re: Angeblich nicht deklariert ?!

  Alt 14. Jul 2009, 07:23
Hab ich das nicht?

TBaudrate = (br1200, br2400, br4800, br9600, br19200, br38400, br57600);
Delphi-Quellcode:
 TVerbParam = record
              ......
              Baudrate: TBaudrate;
              ......
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Angeblich nicht deklariert ?!

  Alt 14. Jul 2009, 07:51
Möglicherweise gibt es aber eine 2. davon abweuichende Deklaration des Typs.
Markus Kinzler
  Mit Zitat antworten Zitat
hoika

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

Re: Angeblich nicht deklariert ?!

  Alt 14. Jul 2009, 07:59
Hallo,

Zitat:
Hab ich das nicht?
nein, hast du nicht.

Bsp.

Delphi-Quellcode:
unit_1;

interface

TBaudrate = (br1200, br2400, br4800, br9600, br19200, br38400, br57600);
unit_2;

uses
unit_1;


Delphi-Quellcode:
TVerbParam = record
              ......
              Baudrate: unit_1.TBaudrate;
              ......
Durch das unit_1.TBaudrate legst du explizit fest,
das der Typ aus unit_1 verwendet werden soll.

Ich hätte einfach TMyBaudrate geschrieben.


Heiko
Heiko
  Mit Zitat antworten Zitat
aaaaaaaaaa_10
(Gast)

n/a Beiträge
 
#6

Re: Angeblich nicht deklariert ?!

  Alt 14. Jul 2009, 08:04
Aber die beiden Dinge sind doch in derselben Unit.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Angeblich nicht deklariert ?!

  Alt 14. Jul 2009, 08:05
Die andere Variante aber nicht!
Markus Kinzler
  Mit Zitat antworten Zitat
hoika

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

Re: Angeblich nicht deklariert ?!

  Alt 14. Jul 2009, 08:20
Hallo,

aha, gleiche Unit, könnte man ja auch mal hinschreiben !

also nochmal, gleiche unit_1

unit_1
TBaudrate = XXX

record
Baudrate: unit_1.TBaudrate;


Grund könnte sein, dass eine der Units im Interface
TBaudrate auch definiert, dann gilt diese als 1.

Am einfachsten mache es per TMyBaudrate oder TBaudrate_.


PS:
Ab D2009 giibt es namespaces, die sowas verhindern.
unit_1.TBaudrate ist eigentlich auch schon sowas.


Heiko
Heiko
  Mit Zitat antworten Zitat
aaaaaaaaaa_10
(Gast)

n/a Beiträge
 
#9

Re: Angeblich nicht deklariert ?!

  Alt 14. Jul 2009, 08:23
Aber wie kommt es dass ein Teil (bis br9600) angeblich deklariert ist?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: Angeblich nicht deklariert ?!

  Alt 14. Jul 2009, 08:32
Zitat:
PS:
Ab D2009 giibt es namespaces, die sowas verhindern.
unit_1.TBaudrate ist eigentlich auch schon sowas.
Namespaces gibt es sogar seit D7
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 13:00 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