|
|
Auth |
So, here is a short list of today's discoveries:
Item 1: I may be able to use the ROT (Running Object Table) to enumerate all running instances of excel and find the instance of CVDB that Isi Converts should be talking to. However, the ROT only seems to expose monikers, not the actual objects. ROTView shows two item monikers to the Excel.Application object when I have two instances of Excel running, but I don't know if I try to bind those monikers will I actually get the two different Excel instances. I'll have to try it to find out, but writing COM code is a bear. Oh well, gives me something to do tomorrow.
Item 2: I did figure out how to solve the graph update problem I was talking about last night. I'll give a quick analogy of my solution. It's like we're adding pieces to a puzzle. To see if I can add the next peice, I only need to see if the edges of the new piece match with the exposed edges of the rest of the puzzle. In particular, my puzzle has two axes - the node ids and the file names. First, all the parent node ids specified by the new subgraph must exist in the original graph (and no duplicates may be introduced). Second (and trickier) the resulting file tree must have no duplicates or missing parent directories. To check this, find the file tree exposed by the original graph, subtract any entries due to nodes that the new subgraph will supercede (the parent nodes specified by the new subgraph) and confirm that the file tree exposed by the new subgraph (accouning for superceded nodes in the subgraph) when merged will not produce any duplicates and will not have any missing parent directories. That'll be a bit tricky. checking for duplicates is east. Missing parent directories will be harder. (See, I hadn't gotten this far on my walk - I'm figuring this out as I type.) I'm not sure if I can do it incrememtally or if again I'll have to fall back to revalidating the final structure. There are two interesting cases. One is to find all the parent directories implied by the new subgraph and confirm that they exist. However, the parent directories of some of the new nodes may be also be defined in new nodes, and that has to be handled. The second is dealing with the fact that files in the original graph may be orphaned and missing their parent directories if the new subgraph supercedes one of their parent directories. Finding orphaned files in the original graph is currently not easy because I don't index the directory tree. I may have to do that.
| Louis K. Thomas <louisth@hotmail.com> | Auth | 2004-08-01 (1490 days ago) |