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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.11.2008, 13:33   #1
Luna_13
Пользователь
 
Регистрация: 19.09.2008
Сообщений: 13
По умолчанию Не отображается картинка

Есть DBGrid и DBImage
В поле Image в таблице прописываю имя картинки
а в DBImage она не отображается
Что не так в коде, или где-то надо иначе делать?
Подскажите пожалуйста

Код:
void __fastcall TForm1::Table1AfterScroll(TDataSet *DataSet)
{
   AnsiString Picture;
   if (Table1->RecNo !=-1)
   {
      StatusBar1->Panels->Items[0]->Text="Çàïèñü:" + IntToStr(Table1->RecNo);
      try {
          Picture=
               Table1->DataBase->Directory +
                          DataSet->FieldValues["Image"];
      }
      catch  (EVariantTypeCastError &e)  {
          Image1->Visible=false;
          return;
      }
      ShowPhoto(Picture);
   }
   else
   {
      StatusBar1->Panels->Items[0]->Text="" ;
      StatusBar1->Panels->Items[1]->Text="Íîâàÿ çàïèñü" ;
      Image1->Visible=false;
   }
}
[C++ Error] Unit1.cpp(47): E2316 'DataBase' is not a member of 'TTable'
[C++ Error] Unit1.cpp(54): E2268 Call to undefined function 'ShowPhoto'
[C++ Error] Unit1.cpp(84): E2235 Member function must be called or its address taken

Код:
void __fastcall TForm1::ShowPhoto(AnsiString Picture)
{
  try
  {
     Image1->Picture->LoadFromFile(Picture);
  }
  catch(EFOpenError &e)
  {
     Image1->Visible=false;
     return;
  }
  Image1->Visible=true;
}
[C++ Error] Unit1.cpp(40): E2316 '_fastcall TForm1::ShowPhoto(AnsiString)' is not a member of 'TForm1'
Luna_13 вне форума Ответить с цитированием
Старый 14.11.2008, 14:50   #2
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

DBImage тут вообще не нужен. простой Image надо.
Следите за регистром. Нужно: Table1->Database?

Вы в описании класса в *.h файле написали прототип метода:
void __fastcall ShowPhoto(AnsiString Picture);
???
pu4koff вне форума Ответить с цитированием
Старый 15.11.2008, 12:25   #3
Luna_13
Пользователь
 
Регистрация: 19.09.2008
Сообщений: 13
По умолчанию

Цитата:
Вы в описании класса в *.h файле написали прототип метода:
void __fastcall ShowPhoto(AnsiString Picture);
да.. только почему ошибка не пойму

Код:
void __fastcall TForm1::ShowPhoto(AnsiString Picture)
{        //почему-то на этой строке выдает ошибку   [C++ Error] Unit1.cpp(69): E2316 '_fastcall TForm1::ShowPhoto(AnsiString)' is not a member of 'TForm1'
  try
  {
     Image1->Picture->LoadFromFile(Picture);
  }
  catch(EFOpenError &e)
  {
     Image1->Visible=false;
     return;
  }
  Image1->Visible=true;
}
Luna_13 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не отображается русский шрифт about_pooh БД в Delphi 11 10.04.2012 16:36
Текст + картинка Killbrum Помощь студентам 13 26.05.2008 22:33
не отображается картинка sstyle JavaScript, Ajax 3 30.01.2008 02:59
в TEdit изначально отображается текущая директория, а не только при выборе её kayman БД в Delphi 3 11.09.2007 16:25
Неправильно отображается вещественный тип frantic БД в Delphi 4 23.02.2007 14:24