Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.012 c
1-98164
zavdim
2002-09-17 11:13
2002.09.30
DirectX


7-98363
Ученик
2002-07-18 12:46
2002.09.30
Запуск приложения из сервиса


3-97970
Kolyan!
2002-09-09 10:47
2002.09.30
Можно ли работать с dBase через dbExpress?


4-98407
EternalWonderer
2002-08-15 12:01
2002.09.30
Передача в CreateThread функции с параметрами


14-98321
MAXHO
2002-09-04 23:29
2002.09.30
Помогите начинающему програмисту-игроделу :)




   Наверх