Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Все теже Сообщения


SammIk ©   (2003-04-05 18:13:00) 

Мастера, доброи недели вам.
Есть проблема. Отсылаю в wParam указатель на число integer
В другои программе заполняю по указателю переменную
Но Выдается RUN TIME ошибка?!?!?!((
Чем леуить? Уму не приложу(((
Одина из мох попыток :
beep(400,10);
p:=GetMemory(sizeof(integer));
p^:=12345;
lparam:=pinteger(wparam)^;
(*
Далие дает ошибку.
если закоментить все ок(
*)

CopyMemory(pinteger(wparam),p,sizeof(integer));
freemem(p);


Diamond Cat   (2003-04-08 15:29:00) [1]


> Ihor Osov"yak

я через что передавал???


Ihor Osov'yak   (2003-04-08 00:59:00) [2]

2 Иван Шихалев © (07.04.03 20:50)

> Остается верным. Т.е. следует выделять память через GlobalAlloc, а не GetMem.

Вы чего-то путаете. Прочитайте хелп к соотв. функции. Или проведите експеримент.

Diamond Cat © (06.04.03 03:51)

integer следует давать через lparam или wparam.


SammIk   (2003-04-07 20:50:00) [3]


Иван Шихалев   (2003-04-07 20:50:00) [4]

Замечу, что можно и так - без WM_COPYDATA данные через указатель передавать - иногда свое сообщение удобнее. Но:


> У каждой программы свое адресное пространство, адрес переменной
> в одном процессе не имеет смысла в другом.


Остается верным. Т.е. следует выделять память через GlobalAlloc, а не GetMem.


Diamond Cat   (2003-04-06 03:51:00) [5]

можно отсылать прямо сразу число типа
sendmessage(hwnd,wm_user+1,122,221); ну и принимать соответсвенно таже как значение, по идее придет именно число


SammIk   (2003-04-05 20:31:00) [6]


> MBo

Спсибо, за совет)


MBo   (2003-04-05 18:24:00) [7]

У каждой программы свое адресное пространство, адрес переменной в одном процессе не имеет смысла в другом.
Для передачи данных можно WM_COPYDATA использовать.


Наверх

Титульная страница Поиск, карта сайта Написать письмо