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

Вниз

Out of Memory !!!   Найти похожие ветки 

 
Карлсон ©   (2002-08-14 01:17) [0]

Помогите плиииз!

вот код:

procedure TForm1.Button1Click(Sender: TObject);
var
Cds: TCopyDataStruct;
begin
GetMem (Cds.lpData, Cds.cbData );
SendMessage (HWND,WM_GetText, 50, Cardinal(Pchar(Cds.lpdata)));
Memo1.Lines.Add(Pchar(Cds.lpdata));
FreeMem (Cds.lpData);
end;

HWND естественно текущий HWND нужного мне RichEdit"а к примеру.
Почему иногда возникает сабж, а иногда нет???
В чем моя ошибка?


 
Dmk ©   (2002-08-14 02:21) [1]

А где вычисления размера Cds.cbData ?

Это из MSDN

COPYDATASTRUCT
The COPYDATASTRUCT structure contains data to be passed to another application by the WM_COPYDATA message.

typedef struct tagCOPYDATASTRUCT { // cds
DWORD dwData;
DWORD cbData;
PVOID lpData;
} COPYDATASTRUCT;

Members
dwData
Specifies up to 32 bits of data to be passed to the receiving application.
cbData
Specifies the size, in bytes, of the data pointed to by the lpData member.

lpData
Pointer to data to be passed to the receiving application. This member can be NULL.

Пробовал Ваш код, так пераметр Cds.cbData при входе в процедуру
принимает какие угодно значения. Отсюда и ваша ошибка.
Размер данных должен быть определен заранее.



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

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

Наверх




Память: 0.46 MB
Время: 0.012 c
7-98372
Ученик
2002-07-18 10:17
2002.09.30
Имя пользователя на любого процесса


1-98210
Андрусь
2002-09-18 12:39
2002.09.30
как по виндовскому Handlу получить pointer на объект


3-98004
Карелин Артем
2002-09-10 16:08
2002.09.30
Ускорение работы базы при больших Blob.


1-98069
3asys
2002-09-19 13:03
2002.09.30
Организация последовательности операций


1-98103
Писарь
2002-09-19 19:28
2002.09.30
Замена полос прокрутки битмапами