Flash/Flex 오류 #1063 SharedObject를 검색 할 때
-
03-07-2019 - |
문제
Flex 3에 구축 된 부품 응용 프로그램이 있으며 부품 목록에 문제가 있습니다. 부품 목록은 두 개의 객체를 사용합니다.
- 부분
- ArrayofPart
부분적으로 부품 목록을 SharedObject에서 캐시합니다. 이것은 몇 달 동안 잘 작동했습니다. 나는 부품 클래스에 새로운 부울 속성을 추가하고 웹 서비스를 다시 제공했습니다. ArrayofPart SharedObject를 잘 저장할 수는 있지만 SharedObject를 검색하려고하면 "ArgumentERROR : ERROR #1063 : ArrayOfPart에서 인수 카운트 불일치가 있습니다. 예상 1, SOL 파일을 완전히 삭제합니다.
(부품 및 ArrayofPart에서 RegisterClass를 사용 했으므로 둘 다 SharedObjects에 직렬화 할 수 있습니다)
오류를 얻기위한 단계는 다음과 같습니다.
공유 객체 저장 :
so = SharedObject.getLocal("PartsList");
so.data.AllParts = AllParts;
so.flush();
sharedobject 확인 :
- SharedObject partslist.sol 필요한 곳에 존재합니다
- SharedObject 파일을 열었고 ArrayofPart 데이터가 유효합니다.
응용 프로그램을 다시 시작하면 SharedObject에서 부품 목록을 검색합니다. 이것은 오류 #1063을 던지고 SOL 파일을 삭제하는 선입니다.
so = SharedObject.getLocal("PartsList");
데이터가 SharedObject에 저장 될 때 데이터가 잘 형성되지 않은 것처럼 보입니까? 이게 가능해?
해결책
나는 내 자신의 문제를 해결했다.
ArrayofPart에는 매개 변수가있는 생성자가있었습니다. 생성자를 제거하면 오류가 사라졌습니다.
그건 그렇고, 이것은 플래시 9였습니다.
다른 팁
이것은 힘든 것 같습니다.
나는 그것이 형성 또는 직렬화 문제라고 생각하지 않습니다. 코드의 다른 것이 공유 객체에 쓰고 있습니까?
소스를 공유 할 수있는 방법이 있습니까? 이것은 개인적으로 코드의 나머지 부분을 볼 수없는 일을 진단하기에 충분한 정보가 없기 때문에 도움이 될 것입니다.
또한....
이 공유 대상에 글을 쓰거나 변경하는 다른 것이 있습니까?
AS3에서 생성 된 내 모든 객체입니까?
어떤 버전의 플래시가 있습니까?
플래시 10이면 Flash 9에서 동일한 문제가 발생합니까?
이것은 모든 브라우저와 모든 플랫폼에서 발생합니까?
직감에 불과하지만 Flash Player 10을 설치 한 이후 브라우징 할 때 공유 객체와 많은 오류가 표시됩니다. 새로 도입 된 샌드 박스/보안 제한과 관련이있을 수 있습니까?