Странная фигня с TRect и функцией Rect

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Странная фигня с TRect и функцией Rect

Сообщение salog » 17.02.2009 04:34:00

Вот этот код:

Код: Выделить всё
procedure TGPanel.Paint;
var r: TRect;
begin
r := rect(0,0,10,10);
end;       


порождает вот такую ошибку: formmain.pas(260,7) Error: Incompatible types: got "RECT" expected "TRect"

Кто нибудь сталкивался? Видимо какя то кривая настройка компилятора?
salog
новенький
 
Сообщения: 15
Зарегистрирован: 19.11.2008 05:35:07

Re: Странная фигня с TRect и функцией Rect

Сообщение Logo » 17.02.2009 05:02:44

Похоже, что Rect переопределена в каком то модуле. Посмотрите на какой модуль она ссылается, должна быть из Classes. Попробуйте прописать этот модуль в списке uses первым.
Logo
постоялец
 
Сообщения: 464
Зарегистрирован: 20.08.2008 01:00:47

Re: Странная фигня с TRect и функцией Rect

Сообщение salog » 17.02.2009 05:12:57

Притом в Delphi 7 этот код компилируется прекрасно.

Вообще RECT это тип объявленный в модуле struct.ins. Но я его не включал в uses.

Еще скажу: делаю такой финт:

Код: Выделить всё
r := TRect(rect(0,0,10,10));
- срабатывает!

Далее вызываю!!!:

Код: Выделить всё
Canvas.CopyRect(r,sourceCanvas,r);


Компилятор опять ругается на третий параметр: Expected RECT got TRect.

Притом в исходниках этот TRect и функция Rect используется массово без всякиз обходных путей.

Что то видимо все таки с найстройкой компилятора... Почему то вызов функции он понимает как тип :-(.
salog
новенький
 
Сообщения: 15
Зарегистрирован: 19.11.2008 05:35:07

Re: Странная фигня с TRect и функцией Rect

Сообщение Logo » 17.02.2009 05:31:20

Какой у Вас Lazarus?
У меня это компилируется без проблем. Покажите целиком код, где проявляется проблема.
Logo
постоялец
 
Сообщения: 464
Зарегистрирован: 20.08.2008 01:00:47

Re: Странная фигня с TRect и функцией Rect

Сообщение salog » 17.02.2009 05:34:55

Хы... шайтан.

Взял uses из некого исходного файла самого Lazarus:

Код: Выделить всё
  Classes, SysUtils, LResources,LMessages,Messages,
  Forms, Controls, Graphics, Dialogs,
  ExtCtrls, Buttons, StdCtrls,Menus,comctrls;


И все получилось... Шайтан!

Добавлено спустя 1 минуту 21 секунду:
Притом, к сожалению не сохранил предыдущий uses. Так бы хоть было бы понятно где я напакостил.
salog
новенький
 
Сообщения: 15
Зарегистрирован: 19.11.2008 05:35:07

Re: Странная фигня с TRect и функцией Rect

Сообщение Logo » 17.02.2009 05:44:35

salog писал(а):Притом, к сожалению не сохранил предыдущий uses. Так бы хоть было бы понятно где я напакостил.

Да, очень интересно было узнать, с чем конфликтовало, а то мне что-то сразу и в голову не приходит, где еще Rect есть.
Logo
постоялец
 
Сообщения: 464
Зарегистрирован: 20.08.2008 01:00:47


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 41

Рейтинг@Mail.ru