[제품종류] IEC1000Lite
[개발환경] Visual Studio 2008 C#
=============== 질 문 ===============안녕하세요.
이상하게 smartFile 쓰기가 안되서 문의 드립니다.
읽기는 잘되는데 쓰기가 안됩니다.
이코드로 다른 1000 시리즈에서는 잘 사용했는데 IEC1000Lite-43B2 이 제품에서는 안되네요.
파일은 만들어지는데 파일내용이 없어요. 즉 0kb
예제파일로 해도 마찬가지입니다.
그런데 이상한게 첨부파일 보시면 "되는코드, 안되는 코드" 이렇게 2가지가 있는데
제가봐서는 코드는 같은데 하나는 되고, 하나는 안되고...
어디가 문제 일까요?
** 여기에 코드 넣으면 작성완료가 안되서 첨부파일로 올림 **
=============== 답 변 ===============
안녕하세요, HNS입니다.
확인이 필요한 사항이 두가지 있습니다.
1. TXT 파일을 새로 생성하여 데이터를 쓰는 경우인지, 아니면 이미 생성되어 있는 TXT 파일의 데이터에 덮어쓰기를 하는 경우인지 확인이 필요합니다.
만약 TXT 파일을 새로 생성하여 데이터를 쓰는 경우라면, SmartX.SmartFile.WriteMode를 Overwrite가 아닌 Append로 사용하셔야 합니다.
Overwrit는 인자로 설정한 자리의 데이터를 덮어쓰는 방식이기 때문에, 원래 데이터가 없는 상태에서는 쓰기가 되지 않는 것이 정상 동작입니다.
2. 기존 TXT 파일의 데이터에 덮어쓰기를 하는 상황에서 쓰기가 되지 않는 경우, 보내주신 코드에서 str 변수의 데이터 길이가 어느 정도인지 확인이 필요합니다.
데이터 길이가 길어 발생하는 문제일 가능성도 있으므로, str의 대략적인 데이터 길이를 알려주시면 해당 조건으로 테스트해 보겠습니다.
=============== 답 변 ===============
말씀하신대로 확인해보니 잘못 사용하고 있었네요.
수정해서 하니 잘됩니다.
감사합니다.




