5
MS Access 데이터베이스에 VBA 클래스 집합이 있습니다. 새 클래스를 만들려는 데이터가있는 xml 문자열이 있습니다.VB/VBA의 XML 비 직렬화
각 속성을 개별적으로 설정하는 것 외에 XML을 내 개체로 쉽게 deserialize 할 수 있습니까?
나는 TypeLib의 라이브러리
Public Sub ISerializable_Deserialize(xml As IXMLDOMNode)
Dim tTLI As TLIApplication
Dim tInvoke As InvokeKinds
Dim tName As String
Dim tMem As MemberInfo
tInvoke = VbLet
For Each tMem In TLI.ClassInfoFromObject(Me).Members
tName = LCase(tMem.Name)
CallByName Me, tMem.Name, VbLet, xml.Attributes.getNamedItem(tName).Text
Next tMem
End Sub
를 사용하여 코드를 본 적이 있지만,이 표준 클래스 모듈과 함께 작동하지 않습니다. 429 오류가 발생합니다.
ActiveX Component Cannot Be Created
나를 도와 줄 사람이 있습니까? 내가 도움을 줄 수 있다면 손으로 각 속성을 설정하지 않아도되지만,이 클래스 중 일부는 거대합니다!
Access 데이터베이스의 개인 클래스는 공개 형식 라이브러리에 포함되어 있지 않으므로 제안 된대로 오타가 수정 되어도 작동하지 않을 것으로 생각됩니다. 나는'InterfaceInfoFromObject (Me)'에 대한 관련 인터페이스가 public이 아니기 때문에'InterfaceInfoFromObject (Me)'가 성공할 수 있다고 생각하지 않는다. – MarkJ
InterfaceInfoFromObject는 나를 위해 Access에서 작동하는 IDispatch :: GetTypeInfo()를 통해 작동합니다 .. 어떻게 .. 누가 알겠습니까? –
감사합니다. Alex. 여전히 작동하지 않습니다. TLI = New TLIApplication을 줄로 설정하면 오류가 발생합니다. typelib 참조를 참조했습니다. (tlbinf32.dll) 올바른 것입니까? 벤. – oharab