Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: присваивание Stringgrid
Форум программистов > Системное программирование > C, С++ и С Builder > Borland C++ Builder & Kylix
BattleMage
Доброго времени суток. У меня такая проблема. Есть функция:

int cycle(int temp, int m, int mas[10])
{
  int i;
  //TO - 7
  //m - текущая строка
  //temp - текущий результат
  TStringGrid *StringGrid1;
  for (i=0;i<10;i++)
   if (mas[i]==7)
    {
     ShowMessage(temp);
     StringGrid1->Cells[0][m]=mas[i];
     StringGrid1->Cells[1][m]=mas[i-1];
     StringGrid1->Cells[2][m]=mas[i+1];
     StringGrid1->Cells[3][m]=temp;
     StringGrid1->RowCount++;
     m++;
     StringGrid1->Cells[0][m]=mas[1];
     StringGrid1->Cells[1][m]=mas[0];
     StringGrid1->Cells[2][m]=temp;
     StringGrid1->RowCount++;
     m++;
     temp++;
    }
  return temp,m;
}


StringGrid не хочет присваивать значения mas[i], mas[i-1], mas[i+1] и temp соответсвенно. В чем ошибка? Думаю комментарии к коду не нужны, вроде все ясно и прозрачно...
BattleMage
Ню... Кто-нить ответит?
Pasha
Для: BattleMage
Дело в том, что стрингрида у тебя нет. У тебя есть неинициализированный указатель на стринггрид, указывающий хз куда. И ты к этому "хз куда" пытаешься обратиться, да еще у него какие-то ячейки заполнить.
European
Цитата(Pasha @ 12:11:2007, 23:06 )
Дело в том, что стрингрида у тебя нет
*

Вот-вот... Создать указатель это не значит создать объект
BattleMage
Попроще можно? Если уберу строчку "TStringGrid *StringGrid1;", то пишет что не объявлен StringGrid1.

Кстати, если уберу эти строчки из функции и вставлю в процедуру по нажатию на клавишу, то будет работать. Подскажите, как исправить...
European
Цитата(BattleMage @ 13:11:2007, 13:10 )
Подскажите, как исправить...
*

Создать и инизиализировать StringGrid:
TStringGrid* pStringGrid = new StringGrid();

Далее установить размеры и владельца, а то своего грида не найдешь
sax_ol
Цитата(European @ 13:11:2007, 13:31 )
Подскажите, как исправить...

или передать указатель на ваш StringGrid как доп параметр в этот метод
или этот метод сделать членом класса формы, на которой находится этот StringGrid

ну и в любом случае удалить строку TStringGrid *StringGrid1;
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2008 IPS, Inc.