Procedural Mesh Component is not visiable when created in C++

I add Procedural Mesh Component in C++ and created it in constructor
in .h

	UPROPERTY(EditAnywhere, BlueprintReadWrite)
	TObjectPtr<UProceduralMeshComponent> PMC1;

in .cpp

    PMC1 = CreateDefaultSubobject<UProceduralMeshComponent>(TEXT("PMC1"));
    PMC1->SetupAttachment(RootComponent);

I call CreateMeshSection at runtime,but nothing happend,no warning,no error,no primitive were created.

PMC->CreateMeshSection(0, Vertices, Indices, Normals, EmptyUVs, EmptyColors, Tangents,true);

I don’t know what I missed. If I call CreateMeshSection in the editor blueprint constructor, it can work correctly. I created a function in the blueprint and declared it as Call in editor. When I clicked the call button at run time, CreateMeshSection can still work correctly, but calling it in C++has no effect. I found an answer in the forum suggesting that it is useful to create BlueprintImplementable Event Function in C++, but it still doesn’t work after my attempt. If anyone has relevant experience, please let me know. Thanks