delphi можно ли вызывать DeallocateHWnd во 2м потоке если AllocateHWnd был создан в 1м

Рейтинг: 0Ответов: 1Опубликовано: 26.02.2023
FHandleApp := AllocateHWnd(WndProcApplication);

Можно ли вызвать в другом потоке DeallocateHWnd Спрашиваю т.к пытаюсь найти баг в старой проге. Она иногда сама закрывается как будто переполнение стека произошло

DeallocateHWnd(FHandleApp);

Ответы

▲ 0

По правилам хорошего тона и избежания подводных камней, рекомендую освобождать память из того потока, в котором память выделялась.В первом потоке выделили память, из другого потока вы можете уведомить первый поток, что пора освободить память. Реализовать это можно с помощью Callback или какого либо метода переданного в второй поток