Вопрос

В моем приложении (основной формой является TTntForm, C ++ Builder 2006):

void __fastcall TForm1::Button1Click(TObject *Sender)
{
  Caption=L"1st caption";        // This works.
  Form1->Caption=L"2nd caption"; // But this doesn't work,
                                 // Caption of the form remains "1st caption".
}

Что может быть причиной этой проблемы?

Отредактированный: Спасибо вам всем за ваши ответы.Я нашел ошибку.В файле проекта дважды создавалась форма:

Application->CreateForm(__classid(TForm1), &Form1);
Application->CreateForm(__classid(TForm1), &Form1);
Это было полезно?

Решение 4

Спасибо вам всем за ваши ответы.Я нашел ошибку.В файле проекта дважды создавалась форма:

Application->CreateForm(__classid(TForm1), &Form1);
Application->CreateForm(__classid(TForm1), &Form1);

Другие советы

Вы уверены, что "это" на самом деле Form1?

if (this != Form1)
    ShowMessage("Whoops. Didn't expect that...");

Как создается ваша форма?Есть ли он в списке, если в параметрах проекта отображается "автоматическое создание", или вы вручную создаете его экземпляр?

Предполагая, что Form1 является вашей основной формой, обычно она создается кодом в вашем основном project.cpp файле в функции WinMain().

Application->CreateForm(__classid(TForm1), &Form1);

Это должно быть написано для вас автоматически C ++ Builder, поэтому будьте осторожны, изменяя его вручную.

Попробуй

Подпись к снимку

если это работает, то Form1 не является экземпляром TForm1

Или отладьте его, чтобы увидеть тип

Вы уверены, что форма класса TForm1, с которой вы работаете, создана как Form1?

Я не думаю, что TForm1 знает, что вы звонили

TForm1 * Form1=new TForm1(...); 

где-то был.Это ваша первая попытка в CBuilder?TForm1 * Form1, который вы видите сгенерированным в верхней части файла, является просто объявлением.вы также должны создать его.Почему вам не нравится первое, работающее, решение?Нет необходимости использовать Form1 внутри класса.Или, если вам действительно нужно, используйте

this->Caption="...";
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top