Форум: "WinAPI";
Текущий архив: 2003.06.05;
Скачать: [xml.tar.bz2];
ВнизВсе теже Сообщения Найти похожие ветки
← →
SammIk (2003-04-05 18:13) [0]Мастера, доброи недели вам.
Есть проблема. Отсылаю в wParam указатель на число integer
В другои программе заполняю по указателю переменную
Но Выдается RUN TIME ошибка?!?!?!((
Чем леуить? Уму не приложу(((
Одина из мох попыток :
beep(400,10);
p:=GetMemory(sizeof(integer));
p^:=12345;
lparam:=pinteger(wparam)^;
(*
Далие дает ошибку.
если закоментить все ок(
*)
CopyMemory(pinteger(wparam),p,sizeof(integer));
freemem(p);
← →
MBo (2003-04-05 18:24) [1]У каждой программы свое адресное пространство, адрес переменной в одном процессе не имеет смысла в другом.
Для передачи данных можно WM_COPYDATA использовать.
← →
SammIk (2003-04-05 20:31) [2]
> MBo
Спсибо, за совет)
← →
Diamond Cat (2003-04-06 03:51) [3]можно отсылать прямо сразу число типа
sendmessage(hwnd,wm_user+1,122,221); ну и принимать соответсвенно таже как значение, по идее придет именно число
← →
Иван Шихалев (2003-04-07 20:50) [5]Замечу, что можно и так - без WM_COPYDATA данные через указатель передавать - иногда свое сообщение удобнее. Но:
> У каждой программы свое адресное пространство, адрес переменной
> в одном процессе не имеет смысла в другом.
Остается верным. Т.е. следует выделять память черезGlobalAlloc
, а неGetMem
.
← →
Ihor Osov'yak (2003-04-08 00:59) [6]2 Иван Шихалев © (07.04.03 20:50)
> Остается верным. Т.е. следует выделять память через GlobalAlloc, а не GetMem.
Вы чего-то путаете. Прочитайте хелп к соотв. функции. Или проведите експеримент.
Diamond Cat © (06.04.03 03:51)
integer следует давать через lparam или wparam.
← →
Diamond Cat (2003-04-08 15:29) [7]
> Ihor Osov"yak
я через что передавал???
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2003.06.05;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c