C++Builder

k0stya

GOLD
Joined
Jun 3, 2016
Messages
152
Reaction score
79
Age
35
Как обойти ошибку:
[C++ Error] Unit1.cpp(27): E2034 Cannot convert 'TOpenDialog *' to 'AnsiString'

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

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

зарание спс
 

ploki

Member
Joined
May 16, 2005
Messages
237
Reaction score
180
Location
Москва
AnsiString - это строка однобайтовых символов, используемая в VCL. Но она тут не при чём.

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

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

k0stya

GOLD
Joined
Jun 3, 2016
Messages
152
Reaction score
79
Age
35
Пример переписан с книги Кент Рейсдорф-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'
 
Top