Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.11.2008, 11:07   #1
Canvas
 
Аватар для Canvas
 
Регистрация: 17.11.2008
Сообщений: 8
Печаль Timage - проблема...

вот я пишу программу

Код:
procedure Udalenie(t2: TImage);
begin
With Form1 do

if t2.Tag=150 then
  begin
  t2.Canvas.Pen.Width:=0;
  t2.Canvas.Pen.Color:=clwhite;
  t2.Canvas.Rectangle(0,0,60,60);
  t2.Tag:=0;

  end;

end;
программа проверяется- ошибок нету. но когда запускается- выдаёт окно ужос!.JPG
"if t2.Tag=150 then"- на этом места ставит зелёную стрелку, и пишет снизу вот это:
"[Warning] Unit1.pas(497): For loop control variable must be simple local variable"

помогите кто нибудь...
Все мы - всего лишь рещультат сложившихся обстоятеств. (с)
Canvas вне форума Ответить с цитированием
Старый 18.11.2008, 11:30   #2
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

Цитата:
Сообщение от Canvas Посмотреть сообщение
"if t2.Tag=150 then"- на этом места ставит зелёную стрелку, и пишет снизу вот это:
"[Warning] Unit1.pas(497): For loop control variable must be simple local variable"
это всего лишь предупреждение, ошибка не из-за этого

проблема скорее всего в том что в процедуру Udalenie ты передаёшь неверные данные
и так и не понятно зачем там строка
Код:
With Form1 do
rpy3uH вне форума Ответить с цитированием
Старый 18.11.2008, 12:28   #3
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Судя по заголовку
procedure Udalenie(t2: TImage);
Form1 ничего не знает о существовании процедуры Udalenie, также, как и Udalenie ничего не знает о существовании Form1.
Рекомендую их познакомить:
procedure Form1.Udalenie(t2: TImage);
mihali4 вне форума Ответить с цитированием
Старый 18.11.2008, 14:00   #4
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Цитата:
Сообщение от mihali4 Посмотреть сообщение
Судя по заголовку
procedure Udalenie(t2: TImage);
Form1 ничего не знает о существовании процедуры Udalenie, также, как и Udalenie ничего не знает о существовании Form1.
Рекомендую их познакомить:
procedure Form1.Udalenie(t2: TImage);
Точно сказал. Да, и в private опиши её, а то компилятор опять ругаться будит.

Вот так:
Код:
private 
procedure Form1.Udalenie(t2: TImage);
Altera вне форума Ответить с цитированием
Старый 18.11.2008, 14:03   #5
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

А почему именно в private ?
Можно и до нее, обычным порядком:
Код:
type
  TForm1 = class(TForm)
...
    procedure Udalenie(t2: TImage);
  private
...
    { Private declarations }
...
var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure Form1.Udalenie(t2: TImage);
mihali4 вне форума Ответить с цитированием
Старый 18.11.2008, 14:20   #6
Canvas
 
Аватар для Canvas
 
Регистрация: 17.11.2008
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Altera Посмотреть сообщение
Точно сказал. Да, и в private опиши её, а то компилятор опять ругаться будит.

Вот так:
Код:
private 
procedure Form1.Udalenie(t2: TImage);

сделал- не помогло. точнее появилась ошибка в private:
"[Error] Unit1.pas(142): Undeclared identifier: 'Form1'"

а вообще вот форма вызова самой процедуры удалениякак у меня в программе)

Код:
 for m1:=0 to 100 do
      begin
      Udalenie(TImage(form1.findcomponent('Image'+inttostr(m1))));
      end;
а зачем тут Whith form1 do - я сам не знаю! :D просто в тетрадке у себя нашол такую запись
Все мы - всего лишь рещультат сложившихся обстоятеств. (с)

Последний раз редактировалось rpy3uH; 18.11.2008 в 14:48.
Canvas вне форума Ответить с цитированием
Старый 18.11.2008, 14:48   #7
Баламут
Баламучу слегка...
Участник клуба
 
Аватар для Баламут
 
Регистрация: 01.11.2006
Сообщений: 1,585
По умолчанию

Код:
private 
procedure Udalenie(t2: TImage);
Т.е. убери Form1. Здесь это явно не к месту
Баламут вне форума Ответить с цитированием
Старый 18.11.2008, 14:50   #8
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

по-моему, всё это не поможет. Нужно убеждаться в валидности параметра t2 в процедуре Udalenie
rpy3uH вне форума Ответить с цитированием
Старый 18.11.2008, 15:01   #9
opel.omega
Форумчанин
 
Регистрация: 18.11.2008
Сообщений: 188
По умолчанию

а не лучше ТБлоб-ам все это сделать
Хакер - не преступник
Взлом - для искусства
Смысл - в свободе
opel.omega вне форума Ответить с цитированием
Старый 18.11.2008, 15:12   #10
Canvas
 
Аватар для Canvas
 
Регистрация: 17.11.2008
Сообщений: 8
Лампочка

Цитата:
Сообщение от opel.omega Посмотреть сообщение
а не лучше ТБлоб-ам все это сделать
поподробнее пожалуйста. я просто не слышал не разу.
Все мы - всего лишь рещультат сложившихся обстоятеств. (с)
Canvas вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TImage в TImage One.Love Общие вопросы Delphi 15 22.09.2008 19:37
Timage Черничный Компоненты Delphi 10 04.07.2008 12:50
Timage RealSHELS Общие вопросы Delphi 7 05.05.2008 20:12
Timage RealSHELS Общие вопросы Delphi 2 03.05.2008 23:23
TImage Andrey9392 Компоненты Delphi 6 06.04.2007 10:43