![]() |
Re: Merkwürdige Fehlermeldung (Compiler)
mag sein, aber er sagt dir in der warnungsmeldung eben, was er tut. nämlich beide operanden erweitern ;)
|
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);
|
Re: Merkwürdige Fehlermeldung (Compiler)
Häääää?????
Das geht sogar:
Delphi-Quellcode:
Da kommt sogar nicht einmal eine Fehlermeldung - und auch keine Warnmeldung !!!!
procedure TForm1.Button1Click(Sender: TObject);
var x: Integer; begin x := -7; Sleep(x); end; Wenn ich dann auf den Button klicke, pausiert er auch. Allerdings länger als 7 ms ... (Keine Ahnung wie lange, hab einfach abgebrochen) |
Re: Merkwürdige Fehlermeldung (Compiler)
hm,
dafür habe icha uch keine erklärung. habe es ehrlich gesagt auch noch nie ausprobiert ;) |
Re: Merkwürdige Fehlermeldung (Compiler)
Moin moin,
Delphi-Quellcode:
// Edit:
Sleep((Cardinal(BassdllPlayer1.SongLength) - BassdllPlayer1.Position)*1000);
Markiere mal die Warnung und drücke die F1 Taste, da steht dann auch erklärt... |
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: |
Re: Merkwürdige Fehlermeldung (Compiler)
Ich würde eine andere Lösung bevorzugen:
Delphi-Quellcode:
Abs() gibt den absoluten Wert einer Zahl als z.B. vorzeichenbehafteter Integer zurück.
Sleep((BassdllPlayer1.SongLength - abs(BassdllPlayer1.Position))*1000);
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 01:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz