Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.021 c
1-1092301873
Руслан
2004-08-12 13:11
2004.08.29
Еще один вопрос по EhDBGrid


3-1091531793
Valer
2004-08-03 15:16
2004.08.29
Перевод строки (возврат каретки)


1-1092520861
Gear
2004-08-15 02:01
2004.08.29
Обращение из основного потока к дочернему.


14-1092300234
SSSSS
2004-08-12 12:43
2004.08.29
Люди! Где взять лицензионную 5-ю Дельфу?


1-1092389998
Aleksander
2004-08-13 13:39
2004.08.29
Как обработать символ < >




   Наверх