Did you actually step through your code? If UserProperties.Find cannot find
a property, it raises an error (DISP_E_UNKNOWNNAME), but you never trap it.
Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool
"franz" wrote in message
...
Hello,
My Add-In adds a new Property to eMails. I use the typelibraries for
Outlook2000.
The Add in is developed in Delphi.
The userdefined field 'Printed' will set in the Inspector but not in the
INBOX-Folder.
In Inspector:
var AMailItem: MailItem;
AUserProperty: UserProperty;
AMailItem := FOutlookApp.ActiveInspector.CurrentItem as MailItem;
AProp := AMailItem.UserProperties.Find('Printed', EmptyParam);
if AProp = Nil then begin
AProp := AMailItem.UserProperties.Add('Printed', olText, True,
EmptyParam);
AProp.Value := 'YES';
end
else begin
AProp.Value := 'YES';
end;
AMailItem.Save;
In the Inspector it works correct
In Folder (InBox):
AMailItem := FOutlookApp.ActiveExplorer.Selection.Item(1) as MailItem;
AProp := AMailItem.UserProperties.Find('Printed', EmptyParam);
if AProp = Nil then begin
AProp := AMailItem.UserProperties.Add('Printed', olText, True,
EmptyParam);
AProp.Value := 'YES';
end
else begin
AProp.Value := 'YES';
end;
AMailItem.Save;
In the INBOX-Folder it not works. No Error - but the Field will not
displayed.
Can someone help me?
franz