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

Вниз

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 вся ветка

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

Наверх




Память: 0.49 MB
Время: 0.042 c
1-1139185019
VIB
2006-02-06 03:16
2006.03.12
Evaluate expression. Как выполнить выражение из строки??


2-1140539041
Алексей Петухов
2006-02-21 19:24
2006.03.12
FastReport


15-1140018843
XeON
2006-02-15 18:54
2006.03.12
Лицензия Delphi 6 personal


15-1139823152
QuasiLamo
2006-02-13 12:32
2006.03.12
Решение проблем


15-1139950881
LordOfRock
2006-02-15 00:01
2006.03.12
Фильм DooM