起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 270|回复: 15

【结贴】邮件附件大小的控制**

[复制链接]
发表于 2008-12-16 11:36:59 | 显示全部楼层 |阅读模式
我按照这个连接7楼的内容对邮件大小进行了控制,如果加入的附件大于10M就exit,现在打开邮件功能插入的一个附件,其容量大于10M,提示插入失败,接着插入一个4M的 邮件,此时2个文件就会同时添加,请问该如何处理?

http://bbs.justep.com/forum.php? ... hlight=%B4%F3%D0%A1
回复

使用道具 举报

 楼主| 发表于 2008-12-16 11:56:56 | 显示全部楼层
??
回复 支持 反对

使用道具 举报

发表于 2008-12-16 13:13:50 | 显示全部楼层
你怎么判断的,代码贴上
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-16 13:33:14 | 显示全部楼层
if lOpenDialog.Execute then
    begin
      for I := 0 to lOpenDialog.Files.Count - 1 do
      begin
        msgMail.AddAttachment(lOpenDialog.Files[I]);
    lStream := TFileStream.Create(lOpenDialog.Files[I], SysUtils.fmOpenRead);
    try
       v_size:=(lStream.Size div 1024 div 1024);
       if v_size >10 then
       begin
         jsDialogs.ShowMsg('附件大小不能超过10M!!)', '提示');  
         exit;                                                   
      end
      else
      begin
        v_sizes:=v_size+v_sizes;
        if v_sizes>10 then
        begin
           jsDialogs.ShowMsg('附件大小不能超过10M!!)', '提示');
           v_sizes:=v_sizes-v_size;
           exit;
        end;
      end;

v_sizes 在ONSHOW里面赋值的
回复 支持 反对

使用道具 举报

发表于 2008-12-16 13:34:12 | 显示全部楼层
msgMail.AddAttachment(lOpenDialog.Files[I]);
放上面?逻辑不对。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-16 14:07:06 | 显示全部楼层
这样怎么也不对?
       v_size:=(lStream.Size div 1024 div 1024);
       v_sizes:=v_size+v_sizes;
       if v_size >10 then
        begin
          jsDialogs.ShowMsg('附件大小不能超过10M!!)', '提示');  
          v_sizes:=v_sizes-v_size;
          exit;                                                
        end
      else
        if v_sizes>10 then
        begin
           jsDialogs.ShowMsg('附件大小不能超过10M!!)', '提示');
           v_sizes:=v_sizes-v_size;
           exit;
        end
      else
        msgMail.AddAttachment(lOpenDialog.Files[I]);
回复 支持 反对

使用道具 举报

发表于 2008-12-16 14:12:00 | 显示全部楼层
这个是程序的算法问题,跟平台没关系。楼主自己用断点去跟踪去,调试自己的程序逻辑
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-16 14:16:32 | 显示全部楼层
运行到上面的最后一句时提示

运行系统初始化的时候发生异常:Cannot open file I:\123\BusinessFAQDemo.rar
回复 支持 反对

使用道具 举报

发表于 2008-12-16 14:18:00 | 显示全部楼层
你这个逻辑怎么这么乱?
还判断2次>10m
不明白。
上面那个提示是文件不能打开,被占用或者其他情况
回复 支持 反对

使用道具 举报

发表于 2008-12-16 14:25:18 | 显示全部楼层
楼主,你想实现什么?
是想控制单个附件大于10M还是想控制添加多个附件的时候大于10M
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-28 05:44 , Processed in 0.040576 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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