MAPIHandler.ErrorStatus not resetting.

Kylea
Member Posts: 39
Hi all,
I am using mapi handler to send an email containing an EFT PDF notification to a list of vendors from the EFT Transfer module.
Obviously if one of the emails in the list is invalid I do not want the program to stop but instead email the user details of the record that was not sent.
However when the program reads the next record even though there is a valid address the ErrorStatus keeps coming up as an error and not 0. Has anyone encountered this before? :?:
IF EXISTS(TempFileName) THEN BEGIN
IF ISCLEAR(MapiHandler) THEN
CREATE(MapiHandler);
ErrorNo := 0;
MapiHandler.ToName := RecipientAddress;
MapiHandler.CCName := CCName;
MapiHandler.Subject := Subject;
IF Body <> '' THEN
MapiHandler.Body := Body;
MapiHandler.AttachFileName := TempFileName;
MapiHandler.OpenDialog := OpenDialog;
AdminAddress := USERID + Text012;
MailSent := MapiHandler.Send;
ErrorNo := MapiHandler.ErrorStatus;
IF ErrorNo <> 0 THEN BEGIN
Body := Text011 + ' ' + RecId;
MapiHandler.Body := Body;
MapiHandler.ToName := AdminAddress;
ErrorNo := 0;
MailSent := MapiHandler.Send;
ErrorNo := MapiHandler.ErrorStatus;
ErrorNo := 0;
END;
EXIT;
END;
I am using mapi handler to send an email containing an EFT PDF notification to a list of vendors from the EFT Transfer module.
Obviously if one of the emails in the list is invalid I do not want the program to stop but instead email the user details of the record that was not sent.
However when the program reads the next record even though there is a valid address the ErrorStatus keeps coming up as an error and not 0. Has anyone encountered this before? :?:
IF EXISTS(TempFileName) THEN BEGIN
IF ISCLEAR(MapiHandler) THEN
CREATE(MapiHandler);
ErrorNo := 0;
MapiHandler.ToName := RecipientAddress;
MapiHandler.CCName := CCName;
MapiHandler.Subject := Subject;
IF Body <> '' THEN
MapiHandler.Body := Body;
MapiHandler.AttachFileName := TempFileName;
MapiHandler.OpenDialog := OpenDialog;
AdminAddress := USERID + Text012;
MailSent := MapiHandler.Send;
ErrorNo := MapiHandler.ErrorStatus;
IF ErrorNo <> 0 THEN BEGIN
Body := Text011 + ' ' + RecId;
MapiHandler.Body := Body;
MapiHandler.ToName := AdminAddress;
ErrorNo := 0;
MailSent := MapiHandler.Send;
ErrorNo := MapiHandler.ErrorStatus;
ErrorNo := 0;
END;
EXIT;
END;
0
Comments
-
Hi.
I would try to recreate the object.ErrorNo := MapiHandler.ErrorStatus; IF ErrorNo <> 0 THEN BEGIN [color=red]CLEAR(MapiHandler): CREATE(MapiHandler):[/color] Body := Text011 + ' ' + RecId; MapiHandler.Body := Body; MapiHandler.ToName := AdminAddress; ErrorNo := 0; MailSent := MapiHandler.Send;
It is impossible to make anything foolproof, because fools are so ingenious.0 -
Hi,
I added the Clear and the recreate and yes it works beautifully. thanks.0
Categories
- All Categories
- 73 General
- 73 Announcements
- 66.6K Microsoft Dynamics NAV
- 18.7K NAV Three Tier
- 38.4K NAV/Navision Classic Client
- 3.6K Navision Attain
- 2.4K Navision Financials
- 116 Navision DOS
- 851 Navision e-Commerce
- 1K NAV Tips & Tricks
- 772 NAV Dutch speaking only
- 617 NAV Courses, Exams & Certification
- 2K Microsoft Dynamics-Other
- 1.5K Dynamics AX
- 320 Dynamics CRM
- 111 Dynamics GP
- 10 Dynamics SL
- 1.5K Other
- 990 SQL General
- 383 SQL Performance
- 34 SQL Tips & Tricks
- 35 Design Patterns (General & Best Practices)
- 1 Architectural Patterns
- 10 Design Patterns
- 5 Implementation Patterns
- 53 3rd Party Products, Services & Events
- 1.6K General
- 1.1K General Chat
- 1.6K Website
- 83 Testing
- 1.2K Download section
- 23 How Tos section
- 252 Feedback
- 12 NAV TechDays 2013 Sessions
- 13 NAV TechDays 2012 Sessions