인디 소켓으로 전송받은 XML을 스레드를 사용해서 값들을 읽어오려
합니다. 그런데 에러가 납니다.
TXMLDocument.Active := True;
로 해 준 다음에 작업을 하려하니 에러가 납니다.
스레드 내에서 TXMLDocument를 사용하지 못할리는 없을테구요...
아래는 제가 작성한 스레드 일부입니다.
constructor TCmdAnalysisThread.Create(var StringStream: TStringStream);
begin
inherited Create(True);
FStringStream := StringStream;
FXMLDocument := TXMLDocument.Create(nil);
FreeOnTerminate := True;
Resume;
end;
procedure TCmdAnalysisThread.Execute;
begin
Coinitialize(nil);
try
FXMLDocument.XML.LoadFromStream(FStringStream);
FXMLDocument.Active := True;
FXMLNode := FXMLDocument.DocumentElement.ChildNodes.FindNode('service'); <-- 요기서 에러가...
finally
FXMLDocument.Active := False;
end;
Couninitialize;
end;