Message.PowerObjectParm будет работать для передачи объекта . Причина, по которой оно становится пустым, когда всплывающее окно закрывается, заключается в том, что структуры автоматически создаются и уничтожаются автоматически. Они действительны только в той области, в которой они объявлены. Например, если он объявлен внутри функции, он будет уничтожен после завершения функции; если это переменная экземпляра всплывающего окна, оно будет уничтожено вместе с всплывающим окном при его закрытии.
Вы можете скопировать структуру обратно в переменную того же типа в родительском окне, прежде чем закрывать всплывающее окно, как предлагает Дагман, или же вы можете использовать объект вместо структуры. Например. просто создайте пользовательский объект и объявите в нем публичные переменные экземпляра так же, как переменные структуры.
Вам, конечно, нужно явно создать и уничтожить объект. Объект, созданный во всплывающем окне, будет создаваться до тех пор, пока не будет явно уничтожен, даже после уничтожения самого всплывающего окна.