Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Merkwürdige Fehlermeldung (Compiler) (https://www.delphipraxis.net/56500-merkwuerdige-fehlermeldung-compiler.html)

Aenogym 6. Nov 2005 21:43

Re: Merkwürdige Fehlermeldung (Compiler)
 
mag sein, aber er sagt dir in der warnungsmeldung eben, was er tut. nämlich beide operanden erweitern ;)

Martin K 6. Nov 2005 21:47

Re: Merkwürdige Fehlermeldung (Compiler)
 
Aber wie soll das denn gehen?

Angenommen SongLength wäre negativ, dann würde doch in Sleep() ein negativer Wert stehen.

Da bringt's doch nix, wenn er den Wert milliseconds : Cardinal in einen Integer-Typ erweitert,
z.B. bei Sleep(-10) hat Delphi trotzdem ein Problem!


Nochmal zur Erinnerung:
Delphi-Quellcode:
procedure Sleep(milliseconds : Cardinal);

Martin K 6. Nov 2005 21:53

Re: Merkwürdige Fehlermeldung (Compiler)
 
Häääää?????

Das geht sogar:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var x: Integer;
begin
  x := -7;
  Sleep(x);
end;
Da kommt sogar nicht einmal eine Fehlermeldung - und auch keine Warnmeldung !!!!

Wenn ich dann auf den Button klicke, pausiert er auch.
Allerdings länger als 7 ms ...
(Keine Ahnung wie lange, hab einfach abgebrochen)

Aenogym 6. Nov 2005 21:55

Re: Merkwürdige Fehlermeldung (Compiler)
 
hm,

dafür habe icha uch keine erklärung. habe es ehrlich gesagt auch noch nie ausprobiert ;)

x000x 6. Nov 2005 22:30

Re: Merkwürdige Fehlermeldung (Compiler)
 
Moin moin,
Delphi-Quellcode:
Sleep((Cardinal(BassdllPlayer1.SongLength) - BassdllPlayer1.Position)*1000);
// Edit:
Markiere mal die Warnung und drücke die F1 Taste, da steht dann auch erklärt...

himitsu 7. Nov 2005 00:35

Re: Merkwürdige Fehlermeldung (Compiler)
 
Ich würde dir auch Letzteres (von x000x) empfehlen, wollte es ja selber gerade vorschlagen ... aber wiedermal zu spät -.-''

Denn lieber den Fehler beheben, als nur die Meldung abzuschalten :zwinker:

MaBuSE 7. Nov 2005 07:16

Re: Merkwürdige Fehlermeldung (Compiler)
 
Ich würde eine andere Lösung bevorzugen:
Delphi-Quellcode:
Sleep((BassdllPlayer1.SongLength - abs(BassdllPlayer1.Position))*1000);
Abs() gibt den absoluten Wert einer Zahl als z.B. vorzeichenbehafteter Integer zurück.
Bei positiven Zahlen ist das ja eine Positive Zahl. ;-)

Ich finde es "logischer" 2 Vorzeichenbehaftete Integer zu subtrahieren, da das Ergebnis ja prinzipiel auch negativ werden kann. (Sollte nicht vorkommen, aber ...)


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:46 Uhr.
Seite 2 von 2     12   

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