2011-03-29 5 views
3

누구든지 ICU (http://site.icu-project.org/ 참조) DLL을 Delphi에서 사용 했습니까?누구나 ICU를 델파이와 함께 사용 했습니까?

특히 코드 페이지 변환 및 데이터 정렬 기능에 관심이 있습니다.

헤더 파일을 보면 클래스를 사용하여 대부분 C++로 표시되므로 아직 많은 연구를 수행하지 않은 상태에서 쉽게이 기능을 사용할 수있는 간단한 함수를 내보내는 간단한 래퍼를 만드는 것이 필요합니다. 델파이로 가져 왔습니다.

아무도 아직 어떤 작업을 했습니까?

다른 사람이 코드 페이지와 데이터 정렬 순서와 비슷한 광범위한 적용 범위를 가진 다른 솔루션을 추천 할 수 있습니까?

+1

Delphi는 이미 코드 페이지 변환을 수행하지 않았습니까? –

+0

네, 물론입니다. 그러나 이것은 Windows API 함수를 호출하는 것에 달려 있습니다. 데이터 백업 코드 페이지 변환 및 데이터 정렬 순서가 모든 Windows 버전에서 업데이트되었습니다. 따라서 한 버전의 Windows에서 문자열 목록을 정렬하고 파일에 저장하면됩니다. 그런 다음 다른 버전의 Windows에서 해당 목록을 열고 가정 된 정렬 목록에서 이진 검색을 수행하려고하면 문자열 비교가 원래 목록 정렬시 다른 결과를 반환 할 수 있으므로 충돌 및 실패합니다. ICU를 사용하면 OS 버전과 관계없이 일관된 정렬 순서를 사용할 수 있습니다. –

+0

정렬이 유일한 문제인 경우 단순히 파일을 다시 정렬 할 수 없습니까? 이유에 따라 정렬 순서가 변경되었다고 생각합니다. ICU에 버전간에 동일한 변경 사항이 포함되어 있지 않습니까? 그렇지 않으면 ICU와 Windows간에 차이가 있습니다. ICU 버전이 맞고 Windows가 잘못 되었습니까? 나는 마이크로 소프트가 잘못한 것이 틀림 없다고 확신하지만 모든 국가와 모든 언어에서 사용되었다는 것을 확신한다. 버전 A에서 버전 B로 변경되면 아마도 네이티브 스피커가 요청했기 때문일 것이다. –

답변

2

필자는 사용하지 않지만 DLL을 랩핑하고 좋은 델파이 기반 인터페이스를 제공하는 ICU4PAS이라는 완벽한 번역본이 있습니다.

+0

고마워, 나는 내일 자세히 알아 보겠다. 내가 걱정하는 유일한 점은 래퍼가 2007 년부터 업데이트되지 않았으며 ICU가 이후로 자주 업데이트되었다는 것입니다. 언뜻보기에 래퍼가 VMT 오프셋을 어지럽히는 것처럼 보이기 때문에 ICU가 변경되면 심각한 문제가 발생할 것이라고 생각합니다. ICU의 현재 버전에서이 래퍼를 사용하는 사람을 알고 있습니까? –

+0

죄송합니다. 설명을 감안할 때 새로운 버전이있는 그대로 작동한다는 것은 의심의 여지가 있지만, 업데이트가 상당히 기계적 일 것이라고 생각됩니다. –

+0

유감스럽게도 현재 버전의 ICU에서 작동하려면 엄청난 노력이 필요할 것입니다. 따라서 좋은 옵션이 아닙니다. –