Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Inkompatible Typen (https://www.delphipraxis.net/91619-inkompatible-typen.html)

Luckie 9. Mai 2007 14:17

Re: Inkompatible Typen
 
Dann setz mal einen Breakpoint (F5) auf Zeile 12 und gehe in Einzelschritten (F7) durch den Code und guck was passiert.

Klaus01 9. Mai 2007 14:21

Re: Inkompatible Typen
 
Was meinst denn Du mit "macht gar nichts mehr"
Kommen auch keine MessageBoxen mit ungültiger Eingabe?

Ausserdem ist Dein Array Tipp in der Funktion nicht initialisiert worden.
Es stehen also zufällige Werte drin.
Falls Du die Initialisierung schon woanders im Code gemacht haben solltest
gilt das hier nicht, da das Array hier noch einmal lokal deklariert wurde.

Grüße
Klaus

greenkohl23 9. Mai 2007 14:29

Re: Inkompatible Typen
 
@ Klaus also der Quelltext is genau der der hier steht is nirgends was anderes definiert und mit gar nix, das hat sich geklärt, der ignoriert einfach die bedingung und macht so weiter. Also wenn ich 50 oder 0 eingebe ignoriert er die statt auszugeben ungültige eingabe.

Klaus01 9. Mai 2007 14:36

Re: Inkompatible Typen
 
Ja, aber wo gibst Du ein, und wo werden diese Daten in das Array Tipp gefüllt.
Weil in dieser Funktion passiert das nicht.
Da das Array aber lokal, also in dieser Funktion, deklariert wurde
muß die Eingabe hier passieren oder das Array Tipp sollte global in der
Form deklariert werden.

Ich hoffe Du verstehst was ich meine.
Und hast Du einmal den Tipp von Luckie befolgt?

Grüße
Klaus

greenkohl23 9. Mai 2007 14:42

Re: Inkompatible Typen
 
tut mir leid leutz das ich euch enttäuschen muss aber so viel plan von delphi hab ich noch nich, bin ja lern und wissbierig, aber ohne anleitung. Hoffe das kränkt euch jetz nich das ihr hier nem noob helft. Also das von Luckie versteh ich nich und deine aussage is mir halbklar.

Klaus01 9. Mai 2007 14:46

Re: Inkompatible Typen
 
z.B.
Delphi-Quellcode:
type
  TForm1 = class(TForm)
 [..]
 private
    Tipp : Array [1..6] of Extended;
    { Private declarations }
 public
    { Public declarations }
 end;
Und die Deklaration von Tipp aus der Funktion und aus anderen Funktonen wo sie eventuell noch deklariert wurde
rausschmeißen. Ein Deklaration reicht.

Grüße
Klaus

greenkohl23 9. Mai 2007 14:55

Re: Inkompatible Typen
 
ja aber eigentlich macht das jetz nich so den großen unterschied für das proggi oder, also ich versteh den nutzen und so aber in meinem fall dürfte es egal sein. Oder irre ich mich jetzt?

Mackhack 9. Mai 2007 15:06

Re: Inkompatible Typen
 
Zitat:

Zitat von greenkohl23
ja aber eigentlich macht das jetz nich so den großen unterschied für das proggi oder, also ich versteh den nutzen und so aber in meinem fall dürfte es egal sein. Oder irre ich mich jetzt?

Hm, Wenn du doch erst die Daten in einem Public Deklarierten Array speicherst und dann mit einem Lokalen Array gleichen Namens weiterarbeitest so hast du 2 verschiedene Arrays. Deshalb wohl die verwirrung und das ignorieren deiner Zahlen.

Klaus01 9. Mai 2007 15:13

Re: Inkompatible Typen
 
Es ist schon ein Unterschied wo eine Variable deklariert wird.

Wenn sie lokal in einer Funktion deklariert wurde ist sie nur in dieser Funktion gültig.

Delphi-Quellcode:
Function a:Integer;
var
  i:Integer
begin
   result:=i;
end;
Delphi-Quellcode:
Function b:String;
var
 i:Integer;
begin
   result:=IntToStr(i);
end;
Aufruf;
i:=3;
a;
b;

Wenn eine Variable mit gleichem Namen noch einmal in einer anderen Funktion deklariert
wurde. Haben diese nichts miteinander zutun.
Sie benutzen andere Speicherbereiche.

Wenn ich das jetzt aber so mache:
Delphi-Quellcode:
Function a:Integer;
begin
   result:=i;
end;
Delphi-Quellcode:
Function b:String;
begin
   result:=IntToStr(i);
end;
und i ist global deklariert

Aufruf;
i:=3;
a;
b;

Dann kommt bei allen Aufrufen 3 heraus.

Grüße
Klaus

greenkohl23 9. Mai 2007 15:40

Re: Inkompatible Typen
 
Danke das du das Ausführlich nochmal dargestellt hast find ich echt klasse von dir, obwohl mir vorher schon klar war wie du das meintest. Aber jetzt mal was ganz anderes was muss ich nu tun um das so zu testen wie Luckie das meinte denn mein proggi geht ja weiterhin nich also der test auf richtige werte.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:20 Uhr.
Seite 3 von 4     123 4      

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