@GetMem @wp
Sorry for the late update.
I tested the demo code, it works fine in my environment. Then I thought it could be some initialization thing causes this error.
It is a big project, there are around 1000 units in this project. I tried to simplify the project to figure out what is happened. Finally, I found there is a form that inherits from an interface class, and the form was created in the initialization section of its unit, I postponed the creation time until Application.Initialization, the program works.
Thanks for your suggestion, I will keep updating if I found anything new.