У меня есть TClientDataSet, который содержит информацию и не связан с любым компонентом GUI.Delphi, ClientDataSet и потоки
В потоке я размещаю соответствующую запись, перехожу в режим редактирования и изменяю значения. Поскольку это происходит внутри потока, я использую TCriticalSection перед поиском до публикации. Это выглядит примерно так:
cs.Enter;
if not cds4Process.Locate('locator',locator,[]) then exit;
cds4Process.Edit;
cds4Process.FieldByName('field1').AsDateTime := pDay;
cds4Process.FieldByName('field2').AsFloat := amnt;
cds4Process.Post;
cs.leave;
cds4Process расположен на главной форме, и это не связано с какой-либо компонент GUI, я не передать его в качестве параметра потока.
Я выполняю поток несколько раз и в какой-то момент получаю сообщение об ошибке, в котором говорится, что cds4Process не находится в режиме вставки или редактирования. хотя приведенная выше последовательность кода одинакова во всех местах, где я использую cds4Process.
Любая идея? Что мне не хватает?
У нас недостаточно информации. Попробуйте сделать [MCVE] (http://stackoverflow.com/help/mcve). Например, вы касаетесь компонента cds4Process из основного потока графического интерфейса? – whosrdaddy
Вы не оставили критический раздел, если не можете найти запись. Или это просто поддельный код? –
@whosrdaddy, я не трогаю его нигде, кроме этой темы. – Amos