Форум: "WinAPI";
Текущий архив: 2006.03.12;
Скачать: [xml.tar.bz2];
ВнизSendMessage и Double Найти похожие ветки
← →
morik © (2005-12-20 16:01) [0]Как передать в SendMessage параметр WParam значения типа Double?
← →
Dmitrij_K (2005-12-20 16:04) [1]если в свою программу посылаешь, тогда через PDouble
← →
Digitman © (2005-12-20 16:09) [2]а если в чужую, то старшее дв.слово - в один параметр, а младшее - в другой.. на принимающей стороне собрать в квадрослово
← →
Dmitrij_K (2005-12-20 16:11) [3]сразу вопрос
а если надо передать например массив или строку, как тогда поступить?
← →
DmitRij_K (2005-12-20 16:19) [4]все нашел
WM_COPYDATA
← →
morik © (2005-12-20 16:35) [5]2 Digitman И сразу вопрос как взять старшое дв. слово и младшое и как это все назад в квадрослово?
← →
begin...end © (2005-12-20 16:52) [6]> morik © (20.12.05 16:35) [5]
type
TDouble = array [1..2] of Integer;
var
D: Double;
// Посылка
SendMessage(Handle, WM_MYMESSAGE, TDouble(D)[1], TDouble(D)[2]);
// Приём
TDouble(D)[1] := wParam;
TDouble(D)[2] := lParam;
← →
begin...end © (2005-12-20 16:53) [7]Только лучше будет не Integer, а Cardinal.
← →
morik © (2005-12-20 17:37) [8]Пасиба
← →
Lamer@fools.ua © (2005-12-20 20:27) [9]>>begin...end © (20.12.05 16:53) [7]
А ещё лучше LongInt.
← →
Digitman © (2005-12-21 08:47) [10]
> morik © (20.12.05 16:35) [5]
TRec = packed record
case Byte of
0: (Dbl: Double);
1: (Lo, Hi: Cardinal);
end;
..
var Rec: TRec;
..
Rec.Dbl := ...;
SendMessage(Handle, WM_MYMESSAGE, Rec.Hi, Rec.Lo);
...
← →
Leonid Troyanovsky © (2005-12-21 10:51) [11]
> Digitman © (21.12.05 08:47) [10]
> TRec = packed record
> case Byte of
> 0: (Dbl: Double);
> 1: (Lo, Hi: Cardinal);
> end;
> SendMessage(Handle, WM_MYMESSAGE, Rec.Hi, Rec.Lo);
Lo, Hi - поменять местами.
Вообще, IMHO, понятней так:
1: (wparam: WParam; lparam: LParam);
--
Regards, LVT.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2006.03.12;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.013 c