Einzelnen Beitrag anzeigen

Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Merkwürdige Fehlermeldung (Compiler)

  Alt 6. Nov 2005, 21:31
Jetzt hab ich's:
Das liegt nicht an der Kombination von SongLength und Position,
sondern an dem Befehl Sleep(), der eine Zahl vom Typ Cardinal erwartet, aber mit SongLength auch einen Integer-Wert enthält.
Wenn dieser nun negativ wäre, dann weiß er nix mit Sleep(milliseconds: Cardinal) anzufangen und gibt eine Fehlermeldung raus.

Im Klartext:
Das funktioniert einwandfrei:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var x, z: Integer; y: Cardinal;
begin
  x :=-7;
  y := 5;
  z := x + y; //ergibt also -7 + 5 = -2, bei z vom Typ Integer kein Problem!
end;
Aber hier gibt's einen Fehler:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var x: Integer; y, z: Cardinal;
begin
  x :=-7;
  y := 5;
  z := x + y; //z =-2, aber ein Cardinal-Typ -> Fehlermeldung
end;
Das geht zwar, es gibt aber trotzdem eine Warnmeldung:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var x: Integer; y, z: Cardinal;
begin
  x := 2;
  y := 5;
  z := x + y; //Warnmeldung, da x auch negativ sein könnte
end;

Zitat von Aenogym:
zur not kannst du für die betreffende zeile ja die warnung ausschalten (ging imho mit einem compiler-schalter).
Wie geht das
  Mit Zitat antworten Zitat