Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> проблема с переменной TStringGrid, при обращении ошибка 
V
    Опции темы
DarkProg
Дата 12.1.2010, 12:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Законченный романтик
***


Профиль
Группа: Завсегдатай
Сообщений: 1784
Регистрация: 11.3.2009
Где: Земля

Репутация: 2
Всего: 19



Добрый день.

У меня такая проблема я присваиваю переменной типа TadvStringGrid, реально существующую таблицу, ну т.е. делаю связывание переменной и таблицей.

И вроде бы теперь через переменную могу обращаться к таблице(таблица просто динамически создаваемая и удобнее привязать переменную в моем случае, чем использовать with)

Но при первом же обращении strgdr.Colcount вылетает ошибка там то и то-то не могу Read.

В чём проблема и как её решить или просто нельзя использовать такие вещи как ColCount???


--------------------
"И твоя голова всегда в ответе за то куда сядет твой зад..."

"Я студент - скажите с какого я ВУЗа..."

 smile  smile  smile 
PM MAIL   Вверх
Демо
Дата 12.1.2010, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 3.11.2005

Репутация: 30
Всего: 50



Цитата(DarkProg @  12.1.2010,  12:41 Найти цитируемый пост)
В чём проблема и как её решить или просто нельзя использовать такие вещи как ColCount???


Нет никаких проблем.
Ошибка в 17-й строке.


--------------------
    
PM MAIL ICQ Skype   Вверх
DarkProg
Дата 12.1.2010, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Законченный романтик
***


Профиль
Группа: Завсегдатай
Сообщений: 1784
Регистрация: 11.3.2009
Где: Земля

Репутация: 2
Всего: 19



Прости я не понял????


--------------------
"И твоя голова всегда в ответе за то куда сядет твой зад..."

"Я студент - скажите с какого я ВУЗа..."

 smile  smile  smile 
PM MAIL   Вверх
artsb
Дата 12.1.2010, 13:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 6
Всего: 64



Цитата(DarkProg @  12.1.2010,  13:02 Найти цитируемый пост)
Прости я не понял???? 

Какой вопрос - такой ответ.


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
Демо
Дата 12.1.2010, 13:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 3.11.2005

Репутация: 30
Всего: 50



Цитата(DarkProg @  12.1.2010,  13:02 Найти цитируемый пост)
Прости я не понял????


Ну понимаешь, операция присвоения - ну очень стандартная процедура, и подвожных камней тут немного.

Сказать можно что-то только увидев твой код.

Поэтому и говорят - "Ошибка в 17-й строке", так как без кода толка нет что-то обсуждать.


--------------------
    
PM MAIL ICQ Skype   Вверх
DarkProg
Дата 12.1.2010, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Законченный романтик
***


Профиль
Группа: Завсегдатай
Сообщений: 1784
Регистрация: 11.3.2009
Где: Земля

Репутация: 2
Всего: 19



Код

var strgrid:TAdvStringGrid;
...
strgrid:=TAdvStringGrid(FindComponent('sgShag'+IntToStr(i+1)));// присваиваю здесь
  with pages.Canvas do
   begin
     Font.Name:='Times New Roman';
     font.Size:=36;
     TextOut(56, 56, PageControl1.Pages[l].Caption);
     textsise:=TextExtent(PageControl1.Pages[l].Caption);
     LastY:=56+textsise.cy;
     TablWidth:=0;
     StartX:=0;
     for i:=0 to strgrid.ColCount-1 do// ошибку кидает на входе в цикл
      TablWidth:=TablWidth+strgrid.ColWidths[i];
     for i:=0 to strgrid.RowCount-1 do
      TablHeight:=TablHeight+strgrid.RowHeights[i];
...
  end;
...


вот кусок кода, я просто думал може я чего не знаю вот и не стал вставлять код


--------------------
"И твоя голова всегда в ответе за то куда сядет твой зад..."

"Я студент - скажите с какого я ВУЗа..."

 smile  smile  smile 
PM MAIL   Вверх
artsb
Дата 12.1.2010, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 6
Всего: 64



DarkProg, вы нигде не делаете проверки: а нашёлся ли компонент?

Добавлено @ 13:19
что-то типа:
Код

strgrid:=TAdvStringGrid(FindComponent('sgShag'+IntToStr(i+1)));// присваиваю здесь
if strgrid = nil then
 ShowMessage('Fatal Error!');


Это сообщение отредактировал(а) artsb - 12.1.2010, 13:20


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
DarkProg
Дата 12.1.2010, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Законченный романтик
***


Профиль
Группа: Завсегдатай
Сообщений: 1784
Регистрация: 11.3.2009
Где: Земля

Репутация: 2
Всего: 19



Цитата(artsb @  12.1.2010,  13:14 Найти цитируемый пост)
DarkProg, вы нигде не делаете проверки: а нашёлся ли компонент? 

А смысл, я в другом куске кода использую тоже самое без проверки и всё шикарно находится, т.к компонент есть на момент проверки
Ради интереса щас попробую

P.S. Можно и на "ты" мне так проще и так становится приятнее общаться, да и я не настолько стар, чтобы ко мне обращаться на вы smile


--------------------
"И твоя голова всегда в ответе за то куда сядет твой зад..."

"Я студент - скажите с какого я ВУЗа..."

 smile  smile  smile 
PM MAIL   Вверх
Демо
Дата 12.1.2010, 13:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 3.11.2005

Репутация: 30
Всего: 50



На pages нет компонента (или поля) с таким же именем - strgrid?

Это сообщение отредактировал(а) Демо - 12.1.2010, 13:24


--------------------
    
PM MAIL ICQ Skype   Вверх
artsb
Дата 12.1.2010, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 6
Всего: 64



Цитата(DarkProg @  12.1.2010,  13:20 Найти цитируемый пост)
А смысл, я в другом куске кода использую тоже самое без проверки и всё шикарно находится, т.к компонент есть на момент проверки

Тогда показывай весь код. А то так часто бывает, покажут кусочек, а ошибка совсем в другом месте. Если у вас такое уже где-то работает, то ошибку нужно искать в другом месте.


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
DarkProg
Дата 12.1.2010, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Законченный романтик
***


Профиль
Группа: Завсегдатай
Сообщений: 1784
Регистрация: 11.3.2009
Где: Земля

Репутация: 2
Всего: 19



тьфу ты блин, нашёл, ёпрст....

Я не ту переменную использовал при поиске надо было вместо i использовать l, ещё на этапе присвоения, а я шухер поднял


Цитата(artsb @  12.1.2010,  13:14 Найти цитируемый пост)
DarkProg, вы нигде не делаете проверки: а нашёлся ли компонент? 

пасяб как раз глянул что переменная равна nil и увидел ошибку


--------------------
"И твоя голова всегда в ответе за то куда сядет твой зад..."

"Я студент - скажите с какого я ВУЗа..."

 smile  smile  smile 
PM MAIL   Вверх
artsb
Дата 12.1.2010, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 6
Всего: 64



Цитата(Демо @  12.1.2010,  13:24 Найти цитируемый пост)
На pages нет компонента (или поля) с таким же именем - strgrid?

ИМХО это тут не причём. strgrid - это же указательн. Это не имя компонента.

Это сообщение отредактировал(а) artsb - 12.1.2010, 13:28


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0662 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.