Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.29;
Скачать: CL | DM;

Вниз

Приведение левой части к типу   Найти похожие ветки 

 
Cobalt ©   (2004-08-12 12:06) [0]

Увидел тут такую вот конструкцию:

if Win32Platform = VER_PLATFORM_WIN32_NT then
PWideChar(MSGBOXPARAMS.lpszIcon) := "MAINICON"
else
MSGBOXPARAMS.lpszIcon := "MAINICON";

(см.  http://delphimaster.net/view/4-1092250514/ )

Никогда с таким не сталкивался, что левую часть тоже можно приводить, обычно считал, что приводят только правую часть.

Скажите, в каких случаях удобнее использовать левосторонее приведение?


 
Sandman25 ©   (2004-08-12 12:08) [1]

Когда приводить левую часть удобнее, чем правую :)


 
Cobalt ©   (2004-08-12 12:16) [2]

Такая вот вещь:
1) Msg.lpszIcon:= PWideChar("MAINICON");
Не приводится (ну, это понятно - lpszIcon: PAnsiChar;)

2) PWideChar(Msg.lpszIcon):= "MAINICON";
Так приводится.

Выходит, что приведение левой части необходимо в тех случаях, когда необходимо в переменную некоего типа требуется положить данные другого формата. Так?


 
Sandman25 ©   (2004-08-12 12:19) [3]

Как насчет
1) Msg.lpszIcon:= PAnsiChar("MAINICON")?

Если
P: Pointer;
I: Cardinal;
то
1)Cardinal(P) := I;
2)P := Pointer(I);


 
Cobalt ©   (2004-08-12 12:31) [4]

2 Sandman25 ©   (12.08.04 12:19) [3]
1) А тогда иконка не показывается :) (см. ветку из WinAPI)

2) ИМХО, тут нагляднее будет такой пример:

var
arr: array[1..10] of byte;
FloatVar: Extended;
begin
 Extended(arr) := FloatVar;



Страницы: 1 вся ветка

Текущий архив: 2004.08.29;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.042 c
8-1086699491
Ruslan
2004-06-08 16:58
2004.08.29
Формат IMA ADPCM wav файла


8-1086892049
FALCON
2004-06-10 22:27
2004.08.29
TImage


1-1092148660
VEG
2004-08-10 18:37
2004.08.29
Многопоточная работа с файлами через DLL


8-1086007873
Serov Pavel
2004-05-31 16:51
2004.08.29
работа с Audio CD


1-1092321477
stalk
2004-08-12 18:37
2004.08.29
Форма перестает реагировать на события мыши