Главная страница
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.022 c
3-97944
maxim2
2002-09-09 06:29
2002.09.30
Не могу понять где ошибка?


1-98108
Stocker!
2002-09-19 08:40
2002.09.30
Создание форм


14-98275
NeyroSpace
2002-09-03 16:06
2002.09.30
Хотелось бы видеть сколько человек просмотрело твой вопрос...


3-98000
3asys
2002-09-10 15:21
2002.09.30
Как определить, есть ли данная таблица в базе ?


14-98327
NeyroSpace
2002-09-05 13:35
2002.09.30
---|Ветка была без названия|---