2011-09-09 2 views
3

일부 델파이 XE 코드를 XE2로 이식하려고하는데, XE2 문서에 따라 네임 스페이스 접두사가없는 InvRules.pas라는 단위를 사용합니다.InvRules (이전의 SOAP 폴더)라는 유닛은 어디에서 Delphi XE2로 들어갔습니까?

또한 내가 그것을 기대하는 비누 폴더에없는 :

C:\Program Files (x86)\Embarcadero\RAD Studio\9.0\source\soap

가장 간단한 대답은 XE2에서 (실수 또는 고의로) 삭제 된 것입니다. 누군가 무슨 일이 일어 났는지 알아 냈습니까? 이 단위에는 및 RetOnStack과 같은 기능이 포함되어 있으며 사용자 정의 TRIOHelper 유형 클래스에서 가끔 사용됩니다.

+2

XE2 Pro SKU와 관련된 드라이브의 어느 곳에도 설치되지 않았 음을 확인할 수 있습니다. (필자는 몇 가지 이전 버전의 델파이를 가지고있다.) –

+0

XE에서 지금 복사했습니다. 작동합니다. 감사 표시. –

답변

2

이 장치는 비누 런타임에서 더 이상 사용하지 않으므로 더 이상 출하되지 않습니다. 이전 릴리스에서는 soaprtl 런타임 패키지의 일부였습니다. XE2 릴리스의 비누 런타임에는 코드가 x64로 이식 가능하고 RTTI 지원 단위에서 본질적으로 복제 된 BASM 코드에 덜 의존하는 일부 중요한 변경 사항이있었습니다. 커밋과 관련된 변경 로그 항목 :

RTX를 사용하여 형식 크기를 가져옵니다. 비누 패키지에서 InvRules, PrivateHeap을 제거하십시오.

이 장치의 도우미 루틴에 의존하는 코드를 사용하는 경우 이전 릴리스의 소스를 사용하면 문제가 없습니다. Invoker.pas, InvokeRegistry.pas, OPToSOAPDomConv.pas 및 Rio.pas 유닛을 XE와 XE2 사이에서 차용하여 코드가 어떻게 변경 되었는 지 확인하여 더 이상 InvRules.pas 유닛에 의존하지 않도록 할 수 있습니다.

+0

. 문서 팀에 ping을하고 InvRules에 대한 참조를 제거하고 "제거 된 이전 RTL 단위"에 대한 wiki 페이지를 작성하라고 할 수 있습니다. –

+0

감사합니다 워렌 나는 그것을 할 것이다. 어떤 소스 파일을 제공해야할지 결정하는 절차가 간소화되었지만 (특히 파일 삭제의 경우) 문서를 동기화 상태로 유지하는 것이 대부분 수동 프로세스입니다. –

관련 문제