Combining signed and unsigned types - widened both operands

0

t_out:=GetTickCount + TrackBar1.Position ;
repeat
Application.ProcessMessages;
until GetTickCount>=t_out;

[Warning] RS_20.pas(511): Combining signed and unsigned types - widened both operands

Czy mogłby mi ktoś wyoślić co zrobić z tym ostrzeżeniem
PozdrAS

0

Chodzi o to że łączysz liczby jedną ze znakiem a drugą bez.

0

Ale jak z tego wybrnąć?
AS

0

Mozesz to po prostu olac, ale jak ci zalezy to zrob tak

t_out := Integer(GetTickCount) + TrackBar1.Position;
0

Mozesz to po prostu olac, ale jak ci zalezy to zrob tak

t_out := Integer(GetTickCount) + TrackBar1.Position;

To przecież tylko rzutuje zmienną typu Cardinal na zmienną typu Integer. Powstanie błąd przy intertpretacji najbardziej znaczącego bitu (tzn. wartości będą złe :) ). Możesz po prostu wyłączyć ostrzeżenia kompilatora w tym fragmencie - ja np. tak robiłem jak porównywałem liczby ze znakiem i bez znaku:

{$Warnings Off}
// tutaj kod generujący ostrzeżenie
{$Warnings On}

1 użytkowników online, w tym zalogowanych: 0, gości: 1