C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
приведение типов
trigger
  Отправлено: 20.01.2005, 10:49


Не зарегистрирован







хочу загрузить в комбобокс список полей таблицы. причем хочу, чтоб отображались не сами названия полей а их лэйблы.
хотел сделать так:

ComboBox1->Items->AddObject(Data->ADOQuery1->Fields->Fields[i]->DisplayName, (TObject *) (Data->ADOQuery1->Fields->Fields[i]->FieldName));

в итоге получаю:
Cannot cast from 'const AnsiString' to 'TObject *'

подскажите плиз как вывернуться из этой ситуации?
Bond
Отправлено: 20.01.2005, 19:38


Станционный диспетчер

Группа: Участник
Сообщений: 142



Потому что ты переменную AnsiString хочешь привести к указателю. Для приведения необходимо перед приведением типа взять адрес переменной
CODE
TObject *obj;
AnsiString str = "hello";
obj = (TObject*)&obj;
Bond
Отправлено: 20.01.2005, 19:40


Станционный диспетчер

Группа: Участник
Сообщений: 142



Sorry
CODE
TObject *obj;
AnsiString str = "hello";
obj = (TObject*)&obj;
AVC
Отправлено: 21.01.2005, 09:10


Ветеран

Группа: Модератор
Сообщений: 1583



AnsiString не является наследником TObject и поэтому к TObject неприводимо.
Если нужно связать строку Combobox'а с объектом то это должен быть существующий объект.
В вашем случае это может быть TField.

Вернуться в Вопросы программирования в C++Builder