Поток картинки не должен знать, что есть еще какой-то мэйн и делать синхронизацию при завершении (по моему это должен делать владелец потоков).
И ты вызываешь RMain.UpdateImage прямо перед завершением потока.
Ты можешь оставить битмап доступным публично или как проперти и всё это делать из контроллера. Тогда RMain вообще не нужен и этот поток будет абсолютно независимый.
Кто освобождает битмап? Ты только в случае except это делаешь, причем глуша исключение. А если все удачно битмап не освобождается?
И вместо TCriticalSection (WinApi) лучше TMultiReadExclusiveWriteSynchronizer (SysUtils). Работает на всех платформах.
TMREWSync
Который можно объявить как IReadWriteSync
И будет сам освобождаться
Поток картинки не должен знать, что есть еще какой-то мэйн и делать синхронизацию при завершении (по моему это должен делать владелец потоков).
И ты вызываешь RMain.UpdateImage прямо перед завершением потока.
Ты можешь оставить битмап доступным публично или как проперти и всё это делать из контроллера. Тогда RMain вообще не нужен и этот поток будет абсолютно независимый.
Кто освобождает битмап? Ты только в случае except это делаешь, причем глуша исключение. А если все удачно битмап не освобождается?
И вместо TCriticalSection (WinApi) лучше TMultiReadExclusiveWriteSynchronizer (SysUtils). Работает на всех платформах.
TMREWSync
Который можно объявить как IReadWriteSync
И будет сам освобождаться