|
Вопрос # 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)
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|