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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.08.2011, 13:26   #1
Человек Панда
Пользователь
 
Регистрация: 04.02.2011
Сообщений: 75
По умолчанию Немогу задать координаты положения формы Delphi

Здравствуйте.Пытаюсь программно задать положение формы на экране,но почему-то возникает ошибка при изменении top.



Код:

var
  Xkor:integer=645;
  Ykor:integer=490;
 Kvadratyravn:  TKvadratyravn;

procedure TMain.btnKvadrClick(Sender: TObject);
begin
visibleofforms;  //если открыта другая форма,то закрываем её
 if (key[1]<>True)  then
   begin
   Kvadratyravn:=TKvadratyravn.Create(self);

   Kvadrayravn.top:=ykor;
   Kvadratyravn.left:=xkor;
  // Kvadratyravn.Visible:=true;

   kvadratyravn.Show;
   key[1]:=True;
   end;
 if Kvadratyravn.Visible=false then
      begin
      kvadratyravn.left:=xkor;
      kvadrayravn.top:=ykor;
      Kvadratyravn.Visible:=true;
      end;
Kvadratyravn.SetFocus;
Kvadratyravn.DoubleBuffered:=True;
end;
Чем может быть вызвана ошибка в строке Kvadrayravn.top:=ykor;
Человек Панда вне форума Ответить с цитированием
Старый 07.08.2011, 13:55   #2
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

Код:
Kvadratyravn:=TKvadratyravn.Create(self);
может не Self, а Application или nil?

Код:
if (key[1]<>True)  then
if Kvadratyravn.Visible=false then
человечнее:

Код:
if (not key[1])  then
if not Kvadratyravn.Visible then
С объектом Kvadratyravn тоже могут быть проблемы. Если key[1] = True и Kvadratyravn не был создан ранее, весь этот блок будет рабоать с неинициализированным объектом:

Код:
 if Kvadratyravn.Visible=false then
      begin
      kvadratyravn.left:=xkor;
      kvadrayravn.top:=ykor;
      Kvadratyravn.Visible:=true;
end;
> ошибка в строке Kvadrayravn.top:=ykor;

у вас как минимум две таких строки (если не учитывать регистр ), в какой именно ошибка, и какая ошибка?
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."

Последний раз редактировалось veniside; 07.08.2011 в 14:02.
veniside вне форума Ответить с цитированием
Старый 07.08.2011, 14:23   #3
Человек Панда
Пользователь
 
Регистрация: 04.02.2011
Сообщений: 75
По умолчанию

вот тут
Код:
if (key[1]<>True)  then
   begin
   Kvadratyravn:=TKvadratyravn.Create(self);

   Kvadrayravn.top:=ykor;
   Kvadratyravn.left:=xkor
смешно то,что у меня еще 5 похожих форм,там я изменяю и все нормально.
Человек Панда вне форума Ответить с цитированием
Старый 07.08.2011, 14:27   #4
Человек Панда
Пользователь
 
Регистрация: 04.02.2011
Сообщений: 75
По умолчанию

вот сфоткал ошибку.
Изображения
Тип файла: bmp Безымянный.bmp (184.0 Кб, 137 просмотров)
Человек Панда вне форума Ответить с цитированием
Старый 07.08.2011, 15:27   #5
Человек Панда
Пользователь
 
Регистрация: 04.02.2011
Сообщений: 75
По умолчанию

Я понял в чем ошибка:
kvadratyravn.left:=xkor;
kvadrayravn.top:=ykor;

Если !внимательно! посмотреть,то количество букв во втором слове на 1 меньше , а компилятор молчал все это время! kvadratyravn
Все,тему можно закрывать.Всем спасибо.
Человек Панда вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как задать абсолютные координаты Shape-у на N-той странице? Diego__ Microsoft Office Word 4 06.07.2012 23:38
Координаты в заголовке формы???? sasha3050 Помощь студентам 8 21.09.2009 16:57
Немогу задать условие.. extrimportal Общие вопросы Delphi 8 05.05.2009 18:54
Auto LISP. Как программно задать координаты для команд типа SELECT Stilet Софт 0 10.07.2008 15:28
Координаты мышки НЕ относительно формы Nowichok Общие вопросы Delphi 2 27.02.2007 17:03