Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Господа подскажите плз , не пойму в чем ошибка


smartleds ©   (2007-10-24 01:19:00) 

хочу изменить размер заливки в ячейке компонента StringGrid
для чего в обработчике события ONDrawCell
Написал следующие

procedure TForm2.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;  Rect: TRect; State: TGridDrawState);
var RC:TRect;
 begin
 RC:=RECT(Rect.Left,Rect.Top,Rect.right,Rect.Bottom );
StringGrid1.Canvas.Brush.Color:=RGB(k div 2,k div 2,k div 2);
StringGrid1.Canvas.FillRect(RC);
end;
В строке RC:=..... вылазит ошибка [Error] tab.pas(34): Missing operator or semicolon
Что она это значит?


smartleds   (2007-10-24 15:10:00) [1]

Спасибо дошло!


boa_kaa   (2007-10-24 14:46:00) [2]

В том, что Rect здесь не ф-ия, а параметр
RC := Classes.Rect();


Ins   (2007-10-24 14:44:00) [3]


> А в чем ошибка намекните если не трудно...

Вам же намекнули :) Rect - это не только название функции, но и имя параметра, передаваемого в обработчик события.

И вообще зачем заводить лишнюю переменную и копировать в нее параметр Rect, почему бы сам параметр не использовать?


smartleds   (2007-10-24 14:34:00) [4]

Изменения я не внес чтобы код был более чиитаемым, написано для D7.
А в чем ошибка намекните если не трудно...


Германн   (2007-10-24 02:09:00) [5]


> Германн ©   (24.10.07 01:37) [1]
>
> Да забавно.
>

Да для Д6 это актуально. Компилятор Д6 не умеет различать вызов "стандартной функции" и обращения к параметру процедуры. Неужели это действительно для 2006,2007?


Германн   (2007-10-24 01:37:00) [6]

Да забавно.

> хочу изменить размер заливки в ячейке компонента StringGrid

А где в коде эти самые "изменения"?
Не вижу!
Ну а то что
> В строке RC:=..... вылазит ошибка [Error] tab.pas(34): Missing
> operator or semicolon
так и что ты ожидал увидеть?


Наверх

Титульная страница Поиск, карта сайта Написать письмо