' Returns a value >0 if Node1 is a parent (or grandparent) of Node2' Returns a value <0 if Node1 is a child (or grandchild) of Node2' in both cases the number reflects the number of levels' between the two nodes' Returns 0 if the two Nodes are the same or' if they belong to different subtreesFunction GetNodeRelationship(ByVal Node1 As Node, _ ByVal Node2 As Node) As Integer If Node1 Is Node2 Then ' this is the simplest case Exit Function ElseIf Len(Node1.FullPath) > Len(Node2.FullPath) Then ' if the two nodes belong to the same subtree, then ' Node1 is a (grand)child of Node2 If InStr(Node1.FullPath, Node2.FullPath) = 1 Then ' do the loop only if the two nodes appear to ' belong to the same subtree ' check that the relationship really exists Do Until (Node1.Parent Is Nothing) Set Node1 = Node1.Parent GetNodeRelationship = GetNodeRelationship + 1 If Node1 Is Node2 Then Exit Function Loop End If Else ' if the two nodes belong to the same subtree, then ' Node1 is a (grand)parent of Node2 If InStr(Node2.FullPath, Node1.FullPath) = 1 Then ' do the loop only if the two nodes appear to ' belong to the same subtree ' check that the relationship really exists Do Until (Node2.Parent Is Nothing) Set Node2 = Node2.Parent GetNodeRelationship = GetNodeRelationship - 1 If Node1 Is Node2 Then Exit Function Loop End If End If ' Nodes belong to different subtrees GetNodeRelationship = 0 End Function


GM Creates Open Source uProtocol and Invites Automakers to Adopt It: Revolutionizing Automotive Software Development.
General Motors (GM) recently announced its entry into the Eclipse Foundation. The Eclipse Foundation is a prominent open-source software foundation. In addition, GMC announced its contribution of “uProtocol” to facilitate