![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с GetRegionData [D7, Win2k]
Silver © (2004-05-24 13:59:00)Код приведенный ниже находится в dll. Время от времени выдает ошибку доступа к памяти. В чем причина?
var
rgn : HRGN;
buffsize : Integer;
buff : PRGNDATA;
topleft : TPOINT;
urect : PRECT;
begin
...
rgn := CreateRectRgn(0,0,0,0);
if GetUpdateRgn(wnd,rgn,False) <> ERROR then
begin
topleft.x := 0;
topleft.y := 0;
if not ClientToScreen(wnd,topleft) then
begin
Result := False;
Exit;
end;
buffsize := GetRegionData(rgn,0,nil);
if buffsize <> 0 then
begin
buff := GlobalAllocPtr(GPTR,buffsize);
if GetRegionData(rgn,buffsize,buff) <> 0 then
begin
urect := PRECT(buff^.buffer[0]);
...
end;
GlobalFreePtr(buff);
end;
end;
wicked (2004-05-24 20:54:00) [1]а где выдает?... в какой строке?...