| 
| 
 | Вопрос # 713/ вопрос решён / | 
 |  Здравствуйте, уважаемые эксперты!
 rect(x1,y1,x2,y2);не работает
 Classes в Uses указано
 при наводе мыши на rect пишет: var unit1.rect:boolean unit1.pas(152)
 Как это исправить?
 
|  |   Вопрос задал: Дмитрий С. - 1148 (статус: Посетитель)Вопрос отправлен: 8 июля 2007, 20:50
 Состояние вопроса: решён, ответов: 2.
 |  Ответ #1. Отвечает эксперт: Градов Ю.М. Здравствуйте, Дмитрий С.!Вы используете rect(x1,y1,x2,y2);
 
 Необходимо:
 .....
 var
 Dest, Sour: TRect; // Источник и приемник
 begin
 //В Вашем случае Sour:=rect(x1,y1,x2,y2);
 Sour := Rect(xold, yold, xold + ImageMask.Width, yold + ImageMask.Height);
 with Image1.Canvas do
 begin
 CopyMode := cmSrcCopy;
 CopyRect(Sour, ImageBackground.Canvas, Sour);
 end;
 ......
 
|  | Ответ отправил: Градов Ю.М. (статус: 8-ой класс)Время отправки: 8 июля 2007, 21:49
 Оценка за ответ: 5
 |  Ответ #2. Отвечает эксперт: Вадим К Здравствуйте, Дмитрий С.!Судя с текста ошибки, у вас в unit1 обявленна переменная rect:boolean; Делфи не телепат и не может разобрать где что надо. поэтому она использует простое правило - если есть две переменные (и/или функции) с однаковым именем, то она берёт ту, которая обявленна в последнем юните в списке uses.
 Итак. В вашем случае нужно
 Вариант 1) переименовать переменную rect.
 Вариант 2) дать делфи понять, что вам в определённом месте нужна именно функция rect, для этого перед её именем нужно дописать имя модуля, тоесть где то  так classes.rect(параметры)
 
|  | Ответ отправил: Вадим К (статус: Академик)Время отправки: 9 июля 2007, 01:06
 Оценка за ответ: 5
 Комментарий к оценке: Я действительно назвал так переменную!Спасибо,в следующий раз буду внимательнее |  
 Мини-форум вопросаВсего сообщений: 2; последнее сообщение — 8 июля 2007, 23:51; участников в обсуждении: 2. 
|   | Градов Ю.М. (статус: 8-ой класс), 8 июля 2007, 21:56 [#1]:Uses Types
 |  
|   | Дмитрий С. - 1148 (статус: Посетитель), 8 июля 2007, 23:51 [#2]:Чегото не работает Sour := Rect(xold, yold, xold + ImageMask.Width, yold + ImageMask.Height);вот тут опять ошибка.
 с uses Types тоже.
 
 У меня тут исходник проги одной,там вот чего:
 image3.Picture.Bitmap.Canvas.CopyRect(rect(0,0,image3.Width,image3.Height),Image2.Picture.Bitmap.Canvas,rect(0,0,image3.Width,image3.Height));
 И все работает.
 |  31 января 2011, 19:27: Статус вопроса изменён на решённый (изменил модератор Ерёмин А.А.): Автоматическая обработка (2 и более ответов с оценкой 5) Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |