TColor vs. RGB?
На такую строку в программе:
[COLOR=blue]Image2->Canvas->Brush->Color = 0x00DDDDDD;[/COLOR]
идет предупреждение типа:
[COLOR=blue][C++ Warning] anload.cpp(597): W8018 Assigning int to TColor[/COLOR]
На тождественную строку вида:
[COLOR=blue] Image2->Canvas->Brush->Color = RGB(221,221,221);[/COLOR]
соответственно предупреждение:
[COLOR=blue][C++ Warning] anload.cpp(575): W8018 Assigning unsigned long to TColor[/COLOR]
Что делать? Можно ли как-то избавиться от этих ворнингов?
Image2->Canvas->Brush->Color = (TColor)RGB(221,221,221);
или все оставить как есть, только в начало cpp файла написать
#pragma warn -8018
Цитата:
Originally posted by rostyslav
Image2->Canvas->Brush->Color = (TColor)0x00DDDDDD;
Image2->Canvas->Brush->Color = (TColor)RGB(221,221,221);
или все оставить как есть, только в начало cpp файла написать
#pragma warn -8018
Image2->Canvas->Brush->Color = (TColor)0x00DDDDDD;
Image2->Canvas->Brush->Color = (TColor)RGB(221,221,221);
или все оставить как есть, только в начало cpp файла написать
#pragma warn -8018
Спасибо!
Самостоятельно нашел еще способ:
Image2->Canvas->Brush->Color = StringToColor("0x00DDDDDD");
Так тоже не реагирует, хотя почему?? :)
Цитата:
Originally posted by Забияка
Спасибо!
Самостоятельно нашел еще способ:
Image2->Canvas->Brush->Color = StringToColor("0x00DDDDDD");
Так тоже не реагирует, хотя почему?? :)
Спасибо!
Самостоятельно нашел еще способ:
Image2->Canvas->Brush->Color = StringToColor("0x00DDDDDD");
Так тоже не реагирует, хотя почему?? :)
Это связано с концепцие С++ явног приведения типов. В С++ типы операндов должны быть одинаковыми. А для классов неявное приведение типов не используется. Оно и к лучшему.