c++ builder XE4, 10.2 Tokyo > ある名前のFormがあるかどうかチェック


動作環境
C++ Builder XE4 on Windows 7 pro
Rad Studio 10.2 Tokyo Update 2 (追記: 2017/12/27)

ある名前(例: Form2)のフォームがあるかどうかを知りたい。

http://stackoverflow.com/questions/25610673/delphi-find-form-by-name
でのdelphi実装を参考に以下の実装をした。

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    // method 1
    TComponent *formPtr = Application->FindComponent(L"Form2");

    if (formPtr == NULL) {
        OutputDebugString(L"Form2 not found");
    } else {
        OutputDebugString(L"Form2 found");
    }

    // method 2
    for(int idx=0; idx < Screen->FormCount; idx++) {
        if (Screen->Forms[idx]->Name == L"Form2") {
            OutputDebugString(L"Form2 found");
            return;
        }
    }
    OutputDebugString(L"Form2 not found");
    return;

}