Hallo,
ich habe derzeit einige Warnings, wo ich nicht weiterkomme durch was diese verursacht werden. In der
IDE erhalte ich diese seltsamerweise nicht, aber sobald ich das Projekt via Makefile oder via Test Batchdatei und dcc32.exe übersetze erhalten ich folgende Warnings.
Warnung: W1072 Bei impliziter Konvertierung könnten signifikante Ziffern von 'Int64' bis 'Cardinal' verlorengehen
bei einem System.Math.max Aufruf -
Code:
CardinalVariable := system.Math.Max( 100, CardinalVariable );
sieht so aus als würde er die überladene Variante von Math.Max() mit int64 compilieren nur warum?
Warnung: W1072 Bei impliziter Konvertierung könnten signifikante Ziffern von '64-Bit-Integerwert mit Vorzeichen' bis 'Cardinal' verlorengehen
Code:
val( '932', newCardinalValue, code );
dito - warum int64 und keine Variante für Cardinal?
Warnung: W1048 Unsichere Typumwandlung von 'TSampleclass' nach 'Pointer'
Code:
with ctrl.Canvas do
begin
Draw(...)
end;
Das Warning kommt für den Kopf der with ... do Anweisung. Für alle Fälle wo sich das with scheinbar auf ein Property einer Klasse bezieht.
Hat jemand eine Idee - was diese Verhalten auslösen könnte?
Ich habe mal ein lleines Testprojekt + Compiler Aufruf CMD angehangen - vielleicht liegt es ja an den Parametern beim Aufruf des Compilers?
André