起步软件技术论坛-X3

 找回密码
 立即注册
搜索
12
返回列表 发新帖
楼主: 巧克力味

【结】一些邮件的接收与发送怎么没有发送人?**

[复制链接]
 楼主| 发表于 2008-8-26 10:37:09 | 显示全部楼层
可以告诉我问题在哪里吗?
代码那么多,很难找得到啊?
回复 支持 反对

使用道具 举报

发表于 2008-8-26 10:52:15 | 显示全部楼层
楼主,我给你说的有点晕了,10楼说跟8楼连接的代码一样,11楼又说找不到。
我需要确认
1、这些邮件发送者是空的邮件都是内部邮件还是外部邮件?
2、8楼的地址的22楼代码是在 “业务模型\协同系统\个人事务\邮件库\邮件编辑窗体”,这可以通过 procedure TMAILEDITFORM.DoRefreshMenuByAccountNames;  这个过程看出来,TMAILEDITFORM 这个是类名,去掉前面的T,就是 MAILEDITFORM,通过这个在业务模型上搜索就能找到了这个窗体了。然后找到 DoRefreshMenuByAccountNames;  这个过程,看看里面的代码是啥,根据帖子上修改一下。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-8-26 11:03:58 | 显示全部楼层
呵呵,不好意思了,因为代码与22楼代码一样我就去找这个窗体的其他代码是否有可能给发送人反回一个空值,但是找得模模糊糊的。
我们发的都是内部邮件。
就是这个procedure TMAILEDITFORM.DoRefreshMenuByAccountNames;这个过程。
与我的“业务模型\协同系统\个人事务\邮件库\邮件编辑窗体”里的
procedure TMAILEDITFORM.DoRefreshMenuByAccountNames;
var
  I: Integer;
begin
if pmAccountNames.Items.Count = 0 then
    DoAddAccountNamesToMenu;

  for I := 0 to pmAccountNames.Items.Count - 1 do
    with pmAccountNames.Items[I] do
      Checked := Pos(Caption, msgMail.From) <> 0;

  if (msgMail.From = '') and (pmAccountNames.Items.Count > 0) then
    pmAccountNames.Items[0].Checked := True;
end;
是一样的!
回复 支持 反对

使用道具 举报

发表于 2008-8-26 11:37:38 | 显示全部楼层
收到,我这里再确认一下,有结果马上跟贴告知
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-8-26 11:40:55 | 显示全部楼层
好的!
回复 支持 反对

使用道具 举报

发表于 2008-8-26 14:44:38 | 显示全部楼层
楼主把 业务模型\协同系统\个人事务\邮件库\邮件编辑窗体  DoGetInternalMailFrom;    这个方法改成
function TMailEditForm.DoGetInternalMailFrom: string;
var
  lOperUserID, lOperUserDisplayName: string;
begin
  Result := '';
  if Assigned(OnGetOperUserInfo) then
    OnGetOperUserInfo(Self, lOperUserID, lOperUserDisplayName);
  Result := Format('"%s" <%s>', [lOperUserDisplayName, lOperUserID]);
end;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-8-26 14:55:59 | 显示全部楼层
好的,谢谢atiger、LI.WB!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-21 03:53 , Processed in 0.055064 second(s), 14 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表