从网上操来的一段代码,却发现有错误
procedure Tfrm_factory.SpeedButton7Click(Sender: TObject);
const
  olMailItem = 0;
var
  Outlook: OleVariant;
  vMailItem: variant;
begin
  Outlook := CreateOleObject('OutlookExpress.Application');
  vMailItem := Outlook.CreateItem(olMailItem);
  vMailItem.Recipients.Add('[email protected]');
  vMailItem.Subject := 'test email';
  vMailItem.Body := 'This is a test';
  vMailItem.Attachments.Add('C:\temp\sample.txt');
  vMailItem.Send;
  VarClear(Outlook);
end;

解决方案 »

  1.   

    错误号为:无效的字符串!,在createoleobject()时就出现错误
      

  2.   

    OutLook :=CreateOleObject('Outlook.Application');
    而不是
    Outlook := CreateOleObject('OutlookExpress.Application');
      

  3.   

    我确定已经改成outlook.application了,可还是提示错误号为:无效的字符串
      

  4.   

    procedure TForm1.Button1Click(Sender: TObject);
    const
      olMailItem = 0;
    var
      Outlook: OleVariant;
      vMailItem: variant;
    begin
      Outlook := CreateOleObject('Outlook.Application');
      vMailItem := Outlook.CreateItem(olMailItem);
      vMailItem.Recipients.Add('[email protected]');
      vMailItem.Subject := 'test email';
      vMailItem.Body := 'This is a test';
      vMailItem.Attachments.Add('C:\temp\sample.txt');
      vMailItem.Send;
      VarClear(Outlook);
    end;
      

  5.   

    //确保COM已经初始化
    try
      Outlook := CreateOleObject('Outlook.Application');
    except
      //显示信息“没有安装OutLook啊”
    end;
      

  6.   

    发邮件应该是调用outlookexpress啊,怎么会是outlook呢?
    我outlook还真没装