Вниз
Скачать: CL | DM;

Ткните меня носом в FAQ   Найти похожие ветки 

← →
TUser   (2004-05-24 17:55) [0]

Простая штука, вроде, но чего-то никак не получается. Надо передать в программу некоторое кол-во инфы для обработки + указатель на структуру, в которой будет возвращен результат. Делаю так (в разных вариациях)
type
 PInf:=^TInf;
 TInf = packed record
  ...
  end;
 PRes:=^Tres;
 TRes = packed record
  ...
  end;
Поля записей - интегеры, строки (точнее - PChar), массивы, + хэндел той проги, которая посылает все это дело.
Посылаю так
var
 inf:TInf; res:TRes;
 sendMessage(H,W,LongInt(@Inf), LongInt(@,Res));

После посылания читаю в той проге, куда посылаю
 r:=PRes(LParam);
 i:=TInf (WParam);
В результате читается какая-то лажа. Строки пробовал передавать и как PChar и как String. Читается какое-то барахло. При попытке обратится к PChar вылетает AV. Где грабли (понятно, что в руках, конечно, но покажите, как правильно сделать такие штуки)?


← →
VMcL ©   (2004-05-24 17:58) [1]

>>TUser  (24.05.04 17:55)

Взаимодействие межпроцессное или внутрипроцессное? Если первое, то см. WM_COPYDATA.


← →
WebErr ©   (2004-05-24 18:07) [2]


>  i:=TInf (WParam);

А надо PInf(WPARAM);


← →
WebErr ©   (2004-05-24 18:11) [3]

Под PChar память, надеюсь выделена?


← →
TUser   (2004-05-24 18:19) [4]

PInf. Это я описался. Взаимодействие межпроцессное. За CopyData спасибо.


← →
TUser ©   (2004-05-25 07:06) [5]

Кстати, заметил такую штуку. Если отправить WM_COPYDATA с PChar"ом не только тому окну, которому оно предназначено, но  и всем остальным, то вываливается "Страница недоступна в автономном режиме. Подключиться?" Если щелкнуть "Да", то все равно ничего не откроется. К чему бы эксплореру так реагировать на WM_COPYDATA?


← →
Digitman ©   (2004-05-25 15:50) [6]


> К чему бы эксплореру так реагировать на WM_COPYDATA?

любопытно, что ты пытаешься "впарить" Эксплореру в данных, посылаемых с пом. WM_COPYDATA ..


← →
VMcL ©   (2004-05-25 15:56) [7]

>>TUser ©  (25.05.04 07:06) [5]

Потому что экплорер не глупей твоей программы будет :) Ему тоже удобно WM_COPYDATA пользоваться, так же как и многим другим программам. Так что WM_COPYDATA следует посылать не бродкастом, а конкретному окну или нескольким окнам.


← →
WebErr ©   (2004-05-25 18:30) [8]


> Ткните меня носом в FAQ

С удовольствием! :))))



Страницы: 1 вся ветка

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



Память: 0.46 MB
Время: 0.02 c
1-1085128785
Ш-К
2004-05-21 12:39
2004.06.06
Переопределить событие


3-1084522145
evgen
2004-05-14 12:09
2004.06.06
Инстоляция.


14-1084636596
KLAUS
2004-05-15 19:56
2004.06.06
Помогите реализовать код с использование MD5


1-1085684092
hgd
2004-05-27 22:54
2004.06.06
Вопрос про сообщения


4-1083651174
Ske4er
2004-05-04 10:12
2004.06.06
Классический вопрос




   Наверх