Вниз
Скачать: 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
14-1084813569
Nomolos
2004-05-17 21:06
2004.06.06
Кто-нибудь имел опыт профессиональной работы с AudioCD


14-1085118443
Rule
2004-05-21 09:47
2004.06.06
А правда что все программеры больше всего любят пиво?


1-1085025220
PAN2009
2004-05-20 07:53
2004.06.06
верхний регистр


3-1084473656
BBCHa
2004-05-13 22:40
2004.06.06
Interbase


11-1072366669
Xtz
2003-12-25 18:37
2004.06.06
Пороблема с мск




   Наверх