Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.06;
Скачать: CL | DM;

Вниз

Как правильно заполнить PCopyDataStruct?   Найти похожие ветки 

 
Aleksandr.   (2005-01-25 16:02) [0]

Мне надо из одного приложения в другое передать packed record. Объявляю его как:

 PCrtInfo = ^TCrtInfo;
 TCrtInfo = packed record
   UserID     : integer;
   Localed    : boolean;
   Dir        : PChar;
   FileTime   : longint;
 end;


Правильно ли будет параметры для сообщения WM_CopyData заполнять как


var
 P : PCopyDataStruct;
 I : PCrtInfo;
begin
...
 I.UserID:=10123;
 I.Localed:=true;
 I.Dir:=StrNew("C:\Test");
 I.FileTime:=FileAge("C:\Test\test01.txt");
 P.dwData:=ID;
 P.cbData:=SizeOf(I);
 P.lpData:=I;
 SendMessage(RecWnd,WM_CopyData,Handle,LParam(@P))
end


Или размер для cbData надо высчитывать иначе - сплюсовывая размеры для целых и булевых с длиной строки в Dir?


 
MBo ©   (2005-01-25 16:20) [1]

Твою структуру в таком виде передавать бесполезно - указатель PChar в другом процессе не имеет смысла, дв и в размер ее будет входить только размер указателя. Сделай вместо него строку постоянной длины (string[255], например)


 
Digitman ©   (2005-01-25 16:50) [2]


> Aleksandr.   (25.01.05 16:02)  


слушай
> MBo ©   (25.01.05 16:20) [1]


 
MBo ©   (2005-01-25 17:08) [3]

Сразу не обратил внимания вот на что еще:
переменную P делай либо типа TCopyDataStruct, либо оставь PCopyDataStruct, но тогда выдели память под нее и @ убери из SendMessage. Почти то же самое относится и к I : PCrtInfo;


 
Aleksandr.   (2005-01-25 17:19) [4]

Спасибо... Я глядел в Rus WinApi, там сразу и сампл был со строкой. То ли устарел он, то ли я чего не так понял...



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

Текущий архив: 2005.03.06;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.05 c
11-1092678190
help
2004-08-16 21:43
2005.03.06
Трэй и иконка


1-1109223246
vlgrig1961
2005-02-24 08:34
2005.03.06
Как добавить свою прогу в список ОТПРАВИТЬ...


6-1103762014
Zelius
2004-12-23 03:33
2005.03.06
Долго обрабатывается запрос


6-1103985950
Змей
2004-12-25 17:45
2005.03.06
TWebBrowser


11-1089554522
Андрей
2004-07-11 18:02
2005.03.06
ToolBar - Решение странной проблемы