В общем, попробую описать проблему, с которой столкнулся, как я предполагаю из-за своего непонимания, как действует механизм создания форм в принципе

Есть у меня проект, по сути это файловый менеджер, точнее менеджер содержимого очень специфичных архивов. И имеется в этом менеджере функция просмотра файла под курсором (похожая на Lister в TC). Ранее при вызове этой функции, я просто открывал нужную форму ShowModal. Естественно, основная форма приложения до закрытия формы становилась недоступна.
Сегодня я решил от этого избавиться, исключил форму из автосоздаваемых и стал создавать ее экземпляры так:
- Код: Выделить всё
if FileInListSelected=true then begin
fm := TFormTView.Create(Application);
fm.Show;
end;
Все бы было ничего. Формы создаются. Но.
В форме просмотра есть несколько режимов просмотра. Так вот, когда пытаешься переключить режим, то во всех формах просмотрщика начинает отображаться содержимое одного и того же файла - открытого на просмотр последним.
(Нужный файл - они там небольшие - в onCreate формы копируется в массив байт).
То есть, насколько я понял, несмотря на то, что визуально я создаю несколько форм, фактически я клонирую одну и ту же, и при переключении режима просмотра (обработчики находятся в модуле формы), каждая из этих форм работает с одним и тем же массивом.
Не подскажите, как это побороть?
Или быть может просто где-то ошибка, тогда подскажите в какую сторону копать.
Очень уж не хочется откатываться к предыдущему варианту:(