Это действительно зависит от того, что делается..., строки недостаточно, если каждая отдельная строка не занимает то же количество времени.
лучший способ (если бы Ваши строки не подобны) состоял бы в том, чтобы, вероятно, посмотреть на логические разделы кода, узнают, сколько времени каждый раздел берет в среднем, затем используйте те средние синхронизации для оценки прогресса.
MDI был разработан еще во времена Windows 3 (или, возможно, раньше?) И в настоящее время не поддерживается. Если вам нужно несколько документов с разными формами, я бы рекомендовал использовать интерфейс с вкладками. Используйте рамки вместо форм, создайте новые вкладки и поместите на них рамку, выровненную по alClient.
Чтобы избежать анимации изменения размера (и, следовательно, задержки) новых дочерних окон MDI, отправьте сообщение WM_SETREDRAW в свойство ClientHandle родительского TForm перед созданием дочерних окон, а затем отправьте его снова, когда вы выполнены, то есть:
Self.Perform(WM_SETREDRAW, False, 0);
... create child windows as needed ...
Self.Perform(WM_SETREDRAW, True, 0);
Windows.InvalidateRect(Self.ClientHandle, nil, True);
Windows.UpdateWindow(Self.ClientHandle);
Вопрос: важно ли, чтобы пользователи могли видеть более одной из ваших встроенных форм или фреймов одновременно? Если нет, обязательно перейдите на вкладки.
Вкладки упрощают навигацию и просмотр имеющихся у вас возможностей. Но со стандартным PageControl вы можете видеть только одну вкладку за раз - здесь нет «мозаики» или «каскадирования». Проблемы начинаются, например, когда пользователям нужно перетаскивать вещи с одной вкладки на другую. Это, конечно, можно сделать, но это не так удобно, потому что на этот раз пользователи не видят, куда они что-то перетаскивают.
Чтобы преодолеть это ограничение, вам придется взглянуть на интерфейс стыковки, который добавляет сложности, но мог дать вам вкладки, а также иметь возможность размещать их мозаикой.
Определенно, у MDI больше отрицательных моментов, чем у того, который вы цитируете. Вы можете найти обсуждение этого в Википедии, а также в Руководстве по интерфейсу Windows. MDI не рекомендуется использовать уже много лет. Сама Microsoft больше не использует MDI в его «стандартной» форме для любых своих больших приложений, они часто предоставляют просто эмуляцию MDI вместе с другими стилями пользовательского интерфейса.
Если ваша программа предназначена для пользователей с несколькими экранами, как MDI, так и у пользовательского интерфейса на основе вкладок есть проблема ограничения окон документа внутри родительского окна.
При правильном дизайне приложения вам действительно не нужно выбирать между MDI и пользовательским интерфейсом на основе вкладок. Позвольте вашим пользователям решать, какой интерфейс им удобнее всего и который лучше всего соответствует их стилю работы. Разрешить также несколько независимых окон документов верхнего уровня (в одном экземпляре приложения или в нескольких). Это может быть так же просто, как создание классов фреймов для ваших документов и решение во время выполнения, встраивать ли их в элемент управления вкладкой, в дочернее окно MDI или в окно верхнего уровня.