동일한 XML 파일에 작성하는 여러 프로세스가 있습니다. NativeXML 라이브러리를 사용하고 있습니다.Delphi를 사용하여 XML 파일을 작성하는 동안 XML 파일을 잠글 수있는 방법이 있습니까?
파일에있는 데이터가 지나치게 오버로드되지 않도록 프로세스가 기록하는 동안 파일을 잠그고 자합니다.
동일한 XML 파일에 작성하는 여러 프로세스가 있습니다. NativeXML 라이브러리를 사용하고 있습니다.Delphi를 사용하여 XML 파일을 작성하는 동안 XML 파일을 잠글 수있는 방법이 있습니까?
파일에있는 데이터가 지나치게 오버로드되지 않도록 프로세스가 기록하는 동안 파일을 잠그고 자합니다.
파일을 만들 때 독점 권한으로 만들거나 최소한 쓰기 액세스 공유를 해제 한 상태에서 필요에 따라 파일을 만듭니다. 먼저 파일을 닫을 때까지 파일을 열어 볼 수 없습니다.
사실 NativeXML은 XML을 SaveToFile()
메소드를 통해 파일에 저장할 때 이미 정확하게 수행합니다. TFileStream
을 사용하며 새 파일을 만들 때의 기본 동작은 TFileSteam
입니다.
그러나 액세스 권한을 더 많이 제어해야하는 경우 자신의 TFileStream
개체를 만들어 필요에 따라 생성자 매개 변수를 채울 수 있습니다. 또는 Window의 CreateFile()
API를 직접 사용하여 만드는 파일 핸들을 나타내는 THandleStream
개체를 만듭니다. 그런 다음 SaveToStream()
메서드를 통해 해당 스트림에 NativeXml을 쓸 수 있습니다.