起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 116|回复: 2

【结贴】邮件的附件另存为出错**

[复制链接]
发表于 2008-11-18 16:31:04 | 显示全部楼层 |阅读模式
当message 提示有新邮件时,双击提示信封,打开后的邮件只有在鼠标点击的瞬间才能获取焦点。松开鼠标建,邮件变成灰色的(ie7)。另外用这种方法打开后附件不能另存为(ie6)。
回复

使用道具 举报

 楼主| 发表于 2008-11-18 16:42:14 | 显示全部楼层
在IE7中,有这个提示。如果按空格键或者enter 就可以正常使用了,可以另存为。但是不知道ie6不能另存为是什么原因?

未命名.jpg

23.49 KB, 下载次数: 74

回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-20 14:55:01 | 显示全部楼层
问题现在OK了!
可以结贴了!
下面是做了修改的部分:
procedure TMailCenterForm.actAllSRMailExecute(Sender: TObject);
begin
  ……
  MailSystem.StartMailExchange(True, True);
  //增加
  ReloadMailBox;

procedure TMailCenterForm.MovePath(const AFolderID, ASrcFolderID, ADesFolderID: string);
var
  lKind: Integer;
  lNode, lDesNode: TTreeNode;
begin
  ……
  //移动树上的节点
  //增加
  if FindTreeListNodeByTreeNode(lNode) <> nil then


procedure TMailCenterForm.actDeleteUpdate(Sender: TObject);
var
  lFolderObject: TMailFolderObject;
begin
  //修改
  if Assigned(glMail) and (Forms.Screen.ActiveControl = glMail) and (glMail.SelectedCount > 0) then
    actDelete.Enabled := True

procedure TMailCenterForm.actRenameUpdate(Sender: TObject);
var
  lFolderObject: TMailFolderObject;
begin
  ……
    actRename.Enabled := (tvMail.Selected.Level > 1) or
    //修改
      (Assigned(lFolderObject) and (lFolderObject.Kind = mtFolder));  
  end;
end;

procedure TMAILCENTERFORM.actSortByAscUpdate(Sender: TObject);
begin
  //修改
  actSortByAsc.Checked := Assigned(FLastRightClickColumn) and (FLastRightClickColumn.Sorted = TTreeListColumnSort.csUp);
  actSortByDesc.Checked := Assigned(FLastRightClickColumn) and (FLastRightClickColumn.Sorted = TTreeListColumnSort.csDown);
end;

procedure TMAILCENTERFORM.glMailContextPopup(Sender: TObject; MousePos: TPoint; var Handled: Boolean);
var
  lPos: TPoint;
  lColumn: TTreeListColumn;
begin
  //增加
  FLastRightClickColumn := nil;
  ……

procedure TMAILCENTERFORM.actStatePropertyUpdate(Sender: TObject);
begin
  //修改
  TAction(Sender).Enabled := assigned(tvMail.Selected) and (glMail.SelectedCount > 0) and Assigned(TMailFolderObject(tvMail.Selected.Data)) and (TMailFolderObject(tvMail.Selected.Data).Kind = mtSent);
end;



procedure TMAILCENTERFORM.actFetchUpdate(Sender: TObject);
var
  lFolderObject: TMailFolderObject;
  I: Integer;
  lState: Boolean;
  lStateValue: string;
  lQuery: TQuery;
begin
  if glMail.SelectedCount <> 1 then
  begin
    TAction(Sender).Enabled := False;
    Exit;
  end;

  //增加
  if not (Assigned(glMail.SelectedNodes[0]) and Assigned(glMail.SelectedNodes[0].Data)) then
  begin
    TAction(Sender).Enabled := False;
    Exit;
  end;
  

  lQuery := TQuery.Create(nil);
  try
    lQuery.ConnectionString := TRTLConsts.CollaborationDatabaseConnectionString;
    //修改
    lQuery.CommandText := 'SELECT * FROM TMAILREFERENCE WHERE FGUID = ''' + TMailReference(glMail.SelectedNodes[0].Data).MailGUID + ''' and FPATHGUID = ''BIZ_INBOX''';


    lQuery.Open;

    for I := 0 to lQuery.recordcount - 1 do
    begin
      lStateValue := lQuery.FieldByName('FSTATE').AsString;
      if (SysUtils.StrToInt(lStateValue) and msReaded) <> msReaded then
      begin
        lState := True;
        Break;
      end
      else
        lState := False;

      lQuery.Next;
    end;
    //修改
    if Assigned(tvMail.Selected) then lFolderObject := TMailFolderObject(tvMail.Selected.Data)
    else lFolderObject := nil;
    TAction(Sender).Enabled := Assigned(lFolderObject) and  (lFolderObject.Kind = mtSent) and lState;



  finally
    lQuery.Free;
  end;
end;
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-27 18:18 , Processed in 0.043496 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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