_111
1
//날짜입력 함수호출
HwpCtrl.MoveToField(field);
HwpCtrl.PutFieldText(field, text);
//이미지 등록 함수호출
HwpCtrl.MoveToField(field);
HwpCtrl.InsertPicture(path, true, 0, false, false, 0, 0, 0, callback)
특정 필드에 텍스트 입력후 다음에 이미지를 입력하는 코드입니다.
동일한 코드인데 어떤경우는 원하는대로 텍스트 입력후 이미지가 등록되나
어떤 경우는 이미지등록후 텍스트가 입력됩니다.
왜 이런걸까요?
1개의 좋아요
hsoh
2
안녕하세요.
이미지 삽입함수는 비동기 함수이므로, 기존 함수호출 순서와 상관없이 비동기적으로 동작하게 됩니다.
MoveToField(field, text, start, select)는 총 4개의 인자를 받을 수 있으며, 2,3,4번째 인자는 옵션처리가 가능합니다.
이때 옵션처리시 기본값은 순서대로 true, true, false 입니다.
그러므로 위 MoveToField()함수는 항상 누름틀의 시작위치로 이동되므로 [그림][텍스트]로 입력되는 것이 정상입니다.
일단, 의도하신 순서가 맞지 않으므로 확인이 필요할 것 같습니다.
그런데, [텍스트][그림]의 순으로 입력되는 것은 분명 이미지 삽입함수의 비동기 동작에 의해서 발생되는 것으로 보입니다.
InsertPicture()호출시 바로 이미지가 삽입되는 것이 아니므로, InsertPicture 이후의 함수 코드에 의해 영향을 받는 것으로 보이니 이후 코드를 확인해보셔야 할 것 같습니다.
1개의 좋아요