Форум: "Основная";
Текущий архив: 2004.06.06;
Скачать: [xml.tar.bz2];
ВнизТкните меня носом в 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 вся ветка
Форум: "Основная";
Текущий архив: 2004.06.06;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.283 c