M
Mark McGinty
Is it possible to add/change a UserProperty on an item using RDO, in such a
way that said addition/change is visible in the corresponding OOM item
(i.e., same EntryID) *without* having to restart Outlook?
And on a note that may seem entirely unrelated, but actually isn't (from
inside my head, if from nowhere else): how is it that RDOMail.Display does
not cause Inspectors.NewInspector to fire, even though [AddIn App
Instance/Application].ActiveInspector returns the expected Inspector
immediately after... oh wow, here's the undeniable tie-in: that
ActiveInspector (as opened by RDOMail.Display) has, of course, a CurrentItem
property, which, of course again, returns a reference to an OOM item
object -- *BUT* the RDO-altered UserProperties *ARE* visible within it!
However, if you close it and re-open by double-clicking in the Explorer,
those same UserProperties changes are *not* there! Wow... that is...
interesting...
I think it's time for 3 Excedrin Extra Strength's and a tripple gin and
tonic (no garbage... hold the ice... hell, hold the tonic too. Yep, a juice
glass full of straight gin... Not just for breakfast anymore...)
So... say I wanted to do something really quirky and niche, like making sure
my users never see my AddIn's user properties printed on paper, even when
they do quirky niche stuff like opening an item in the Explorer, and even
when they have the audacity to do so without having restarted Outlook
between emails (my users are funny like that, the bastards!) When
NewInspector fires, it's a safe bet that RDOMail.Display was not involved,
so, in that event handler I acquire an RDO object reference to the item,
compare its UserProperties against those in CurrentItem, and if they are
different, close the just-opened Inspector and re-open it by calling
RDOMail.Display... and manually create a wrapper and add it to the
collection, so my AddIn UI stuff is there too (no other AddIn's stuff will
be, but at least mine will, what else matters?) Oh yeah, can't forget to
move the new Inspector, since it will be at the old inspector's client 0,0
(not its window 0,0.)
What are the chances that would work? Can you call Inspector.Close from
within NewInspector? Sounds like something that will work on my system, but
nut-up intermittently in the wild -- oh man I *can't* *wait* to explain all
this to my division manager when we meet today! (It's what I live for.)
-MM
way that said addition/change is visible in the corresponding OOM item
(i.e., same EntryID) *without* having to restart Outlook?
And on a note that may seem entirely unrelated, but actually isn't (from
inside my head, if from nowhere else): how is it that RDOMail.Display does
not cause Inspectors.NewInspector to fire, even though [AddIn App
Instance/Application].ActiveInspector returns the expected Inspector
immediately after... oh wow, here's the undeniable tie-in: that
ActiveInspector (as opened by RDOMail.Display) has, of course, a CurrentItem
property, which, of course again, returns a reference to an OOM item
object -- *BUT* the RDO-altered UserProperties *ARE* visible within it!
However, if you close it and re-open by double-clicking in the Explorer,
those same UserProperties changes are *not* there! Wow... that is...
interesting...
I think it's time for 3 Excedrin Extra Strength's and a tripple gin and
tonic (no garbage... hold the ice... hell, hold the tonic too. Yep, a juice
glass full of straight gin... Not just for breakfast anymore...)
So... say I wanted to do something really quirky and niche, like making sure
my users never see my AddIn's user properties printed on paper, even when
they do quirky niche stuff like opening an item in the Explorer, and even
when they have the audacity to do so without having restarted Outlook
between emails (my users are funny like that, the bastards!) When
NewInspector fires, it's a safe bet that RDOMail.Display was not involved,
so, in that event handler I acquire an RDO object reference to the item,
compare its UserProperties against those in CurrentItem, and if they are
different, close the just-opened Inspector and re-open it by calling
RDOMail.Display... and manually create a wrapper and add it to the
collection, so my AddIn UI stuff is there too (no other AddIn's stuff will
be, but at least mine will, what else matters?) Oh yeah, can't forget to
move the new Inspector, since it will be at the old inspector's client 0,0
(not its window 0,0.)
What are the chances that would work? Can you call Inspector.Close from
within NewInspector? Sounds like something that will work on my system, but
nut-up intermittently in the wild -- oh man I *can't* *wait* to explain all
this to my division manager when we meet today! (It's what I live for.)
-MM