注意修改时不要用删除,请用注释
修改
业务模型\协同系统\个人事务\邮件库\邮件编辑窗体
增加DoGetInternalMailFrom方法
function DoGetInternalMailFrom: string;
修改原有方法DoGetMailFrom
procedure TMailEditForm.AccountNameMenuItemClick(Sender: TObject);
begin
TMenuItem(Sender).Checked := True;
if (Pos('@', edtSendTo.Text) <> 0) then
msgMail.From := DoGetMailFrom
else
msgMail.From := DoGetInternalMailFrom;
end;
function TMailEditForm.DoGetInternalMailFrom: string;
var
I: Integer;
lOperUserID, lOperUserDisplayName: string;
lQuery: TQuery;
begin
Result := '';
// if pmAccountNames.Items.Count = 0 then
// begin
if Assigned(OnGetOperUserInfo) then
OnGetOperUserInfo(Self, lOperUserID, lOperUserDisplayName);
Result := Format('"%s" <%s>', [lOperUserDisplayName, lOperUserID]);
{ end
else
for I := 0 to pmAccountNames.Items.Count - 1 do
if pmAccountNames.Items[I].Checked then
begin
lQuery := TQuery.Create(nil);
try
lQuery.ConnectionString := TRTLConsts.CollaborationDatabaseConnectionString;
lQuery.CommandText := 'SELECT FOWNERGUID FROM TMAILACCOUNTS WHERE FMAILADDRESS = ''' + pmAccountNames.Items[I].Caption + '''';
lQuery.Open;
Result := lQuery.FieldByName('FOWNERGUID').AsString;
finally
lQuery.Free;
end;
end; //不取人员ID或邮箱ID 不管内部邮件发件人有没有邮箱帐户都显示显示名和ID lwb}
end;
function TMailEditForm.DoGetMailFrom: string;
var
I: Integer;
lOperUserID, lOperUserDisplayName: string;
begin
Result := '';
if pmAccountNames.Items.Count = 0 then
begin
if Assigned(OnGetOperUserInfo) then
OnGetOperUserInfo(Self, lOperUserID, lOperUserDisplayName);
Result := Format('"%s" <%s>', [lOperUserDisplayName, lOperUserID]);
end
else
for I := 0 to pmAccountNames.Items.Count - 1 do
if pmAccountNames.Items[I].Checked then
Result := pmAccountNames.Items[I].Caption;
end; |