Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
14-1084546176
j
2004-05-14 18:49
2004.06.06
А сколько еще винапи проживет?


1-1085335968
DIS
2004-05-23 22:12
2004.06.06
EoleSysError


4-1083694549
Meskalito
2004-05-04 22:15
2004.06.06
Диагональ монитора


1-1085392945
AleKo
2004-05-24 14:02
2004.06.06
Преобразовать тип.


1-1085570657
umsyty
2004-05-26 15:24
2004.06.06
Можно ли загрузить графическое изображение из потока?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский