C++Builder

K

k0stya

Как обойти ошибку:
[C++ Error] Unit1.cpp(27): E2034 Cannot convert 'TOpenDialog *' to 'AnsiString'

в строке кода:
child->Image->Picture->LoadFormFile(OpenDialog->FileName);

Что за тип такой AnsiString??

зарание спс
 

ploki

Местный
Регистрация
16 Май 2005
Сообщения
237
Реакции
180
Credits
0
AnsiString - это строка однобайтовых символов, используемая в VCL. Но она тут не при чём.

Ошибка в слове LoadFormFile. Правильно - LoadFromFile!

Хотя может, и ещё где....
Приводите описание переменных в таких вопросах, пожалуйста.
 
Последнее редактирование модератором:
K

k0stya

Пример переписан с книги Кент Рейсдорф-Borland C++ Builder. Освой самостоятельно
if(OpenDialog->Execute())
{
TChild* child = new TChild(this);
child->SetParent(this);
child->Image->Picture->LoadFromFile(OpenDialog->FileName);
child->ClientWidth=child->Image->Picture->Width;
child->ClientHeight = child->Image->Picture->Height;
child->Caption = OpenDialog;
child->Show();
}

[C++ Error] Unit1.cpp(23): E2247 '_fastcall TCustomForm::SetParent(TWinControl *)' is not accessible
[C++ Error] Unit1.cpp(27): E2034 Cannot convert 'TOpenDialog *' to 'AnsiString'
[C++ Error] Unit1.cpp(34): E2451 Undefined symbol 'dinamic_cast'
[C++ Error] Unit1.cpp(34): E2108 Improper use of typedef 'TChild'