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

Вниз

ClipCursor()   Найти похожие ветки 

 
Schummi ©   (2002-05-25 15:38) [0]

Доброго времени суток, Мастера. Такой вопрос. Использую процедуру ClipCursor() - ограничивает область для курсора. Однако возникает ошибка EAccessViolation. Почему она возникает и как от неё избавиться? Спасибо!


 
ZZ ©   (2002-05-25 16:06) [1]

Ошибка в 17 строке


 
Schummi ©   (2002-05-26 09:11) [2]

2ZZ
Издеваешься? А так как же?


 
Schummi ©   (2002-05-26 09:48) [3]

Народ, может так:
var
R:TRect;
begin
...
ClipCursor(^R);
...
end;

Просто я так делал:
var
R:PRect;
begin
...
{присваивание значений Top, Left, Right, Bottom в R}
ClipCursor(R);
...
end;


 
KilkennyCat ©   (2002-05-26 09:49) [4]

Приведи кусок кода, а то как же понять, почему ошибка...


 
KilkennyCat ©   (2002-05-26 09:52) [5]

Из хелпа:
Remarks

The cursor is a shared resource. If an application confines the cursor, it must release the cursor by using ClipCursor before relinquishing control to another application.

Ошибка о доступе. Вывод: освободи курсор перед вызовом.


 
Schummi ©   (2002-05-26 10:19) [6]

2KilkennyCat Как???


 
Schummi ©   (2002-05-26 10:20) [7]

2KilkennyCat

procedure TForm1.Button1Click(Sender: TObject);
var
R:PRect;
begin
R.Left:=0;
R.Right:=400;
R.Top:=0;
R.Bottom:=400;
ClipCursor(nil);
end;


 
Song ©   (2002-05-26 12:38) [8]

Интересно, а если ты передаёшь в процедуру ClipCursor nil, тогда зачем ты задавал R?


 
mukha ©   (2002-05-26 19:05) [9]

Мне тоже не удалось решить такую проблему. Для ограничения перемещения курсора областью формы я поступил следующим образом, не совсем удачно, но работает:

// ограничение области перемещения курсора
procedure TForm1.FormCreate(Sender: TObject);
var
aRect:TRect;
begin
Form1.BorderStyle:=bsSingle;
GetWindowRect(Handle, aRect);
ClipCursor(@aRect);
end;

// снятие ограничения перемещения курсора

procedure TForm1.FormDestroy(Sender: TObject);
var
aRect:TRect;
begin
arect:=rect(0,0,GetSystemMetrics(SM_CXFULLSCREEN),GetSystemMetrics(SM_CxFULLSCREEN));
ClipCursor(@aRect);
end;


 
ION T ©   (2002-05-26 19:36) [10]

Да просто ClipCursor(nil) надо вызывать для освобождения....


 
Song ©   (2002-05-26 23:04) [11]

2mukha © (26.05.02 19:05)
А почему не совсем удачно? Насколько я помню в ClipCursor() нужно передавать переменную типа PRect


 
Walker ©   (2002-05-27 02:27) [12]

Ха-ха-ха!

var
r:TRect;
begin
//r.Left, Right and so on
ClipCursor(@r);
end;




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

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

Наверх




Память: 0.49 MB
Время: 0.009 c
3-17780
Loki
2002-05-14 17:23
2002.06.06
Удаленные записи


1-17891
Yuraz
2002-05-23 18:13
2002.06.06
Знатоки, кто знает как вписать ср-ми Delphi в RTF файл таблицу?


1-17956
SPeller
2002-05-27 21:28
2002.06.06
Комилятор Дельфей


1-17906
Kozerog
2002-05-27 12:24
2002.06.06
Не уживаются два компонента


6-18084
KNP
2002-03-26 10:07
2002.06.06
Как послать SYN пакет..