Главная страница
    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.007 c
1-17924
stupid
2002-05-23 17:51
2002.06.06
Как проиграть wav файл, который находится в DLL?


7-18162
Heruvim4ik
2002-03-11 22:33
2002.06.06
Запуск приложения при начале работы принтера...


1-18033
Yuraz
2002-05-24 11:54
2002.06.06
Кто нибудь менял ли хинты для каждой панели StatusBar?


14-18139
LP
2002-05-03 10:08
2002.06.06
Компонент TChart


3-17816
Oleg_er
2002-05-15 07:36
2002.06.06
Скорость в Select e





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский