Главная страница
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.019 c
8-98227
DSilence
2002-03-13 18:32
2002.09.30
Компонент загрузки JPEG,GIF,PNG,TIFF,PCX,BMP файлов


3-98015
Ольга
2002-09-09 10:50
2002.09.30
Печать в файл


6-98261
net-lamer
2002-07-25 20:41
2002.09.30
Как использовать API-функцию connect?


1-98211
delpher_gray
2002-09-17 12:22
2002.09.30
Евент для ServerSocket


8-98225
Ден
2002-03-21 20:30
2002.09.30
Как проиграть в своей проге два аудио файла одновременно