Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.06.06;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.008 c
3-17778
Dimaiv
2002-05-15 08:08
2002.06.06
Поиск для русских слов учитывает регистр, а для английских нет


1-17919
Miron12
2002-05-27 16:07
2002.06.06
возможность детального просмотра области экрана!!!


3-17840
ed_30
2002-05-15 11:54
2002.06.06
BLOB + MySQL


3-17829
Glonia Zbanov
2002-05-16 17:56
2002.06.06
Поиск в гриде-DBGridEh


1-17922
KvORubin
2002-05-27 09:20
2002.06.06
Проблеммы с кодировками!!!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский