Just a guess...because you're initializing the EditFieldcount to 4 and it's adding that to the selected Editfieldcount? That would mean the result is always from 5 to 9, and anything higher than 4 is the Cancel button?
from: Robert Meek at: [EMAIL PROTECTED] dba "Tangentals Design" home of "PoBoy" freeware Windows apps and utilities located at: www.TangentalsDesign.com Proud to be a moderator for the "Delphi Programming Lists" at: elists.org -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of whitehat Sent: Saturday, October 08, 2005 8:46 AM To: Delphi-Talk Subject: MapiAddress Why does the code below give me 'The user canceled one of the dialog boxes....' ? {**********************************************************************} procedure TfmMailForm.Button1Click(Sender: TObject); var MR:integer; dlgCaption:string; EditFieldCount:integer; lpRecip:TMapiRecipDesc; intRecips:Cardinal; lpRecips:PMapiRecipDesc; strT:string; begin dlgCaption:=''; EditFieldCount:=4; MR:=MAPIAddress(0,Application.Handle,pChar(dlgCaption), EditFieldCount,'',0,lpRecip,0,0,@intRecips,lpRecips); if MR=SUCCESS_SUCCESS then begin ShowMessage('Success'); {Other code removed.} end else begin case MR of MAPI_E_FAILURE:strT:='One or more unspecified errors occurred while building recipient lists or browsing the address book. No list of recipients was returned.'; MAPI_E_INSUFFICIENT_MEMORY:strT:='There was insufficient memory to proceed. No list of recipients was returned.'; MAPI_E_INVALID_EDITFIELDS:strT:='The value of the nEditFields parameterwas outside the range of 0 through 4. No list of recipients was returned.'; MAPI_E_INVALID_RECIPS:strT:='One or more of the recipients in the address list was not valid or the Recipients parameter was not a valid array. No list of recipients was returned.'; MAPI_E_INVALID_SESSION:strT:='An invalid session handle was used for the lhSession parameter. No list of recipients was returned.'; MAPI_E_LOGIN_FAILURE:strT:='There was no default logon, and the user failed to log on successfully when the logon dialog box was displayed. No list of recipients was returned.'; MAPI_E_NOT_SUPPORTED:strT:='The operation was not supported by the underlying messaging system. A list of recipients may have been returned.'; MAPI_E_USER_ABORT:strT:='The user canceled one of the dialog boxes. No list of recipients was returned.'; else strT:='Unknown error.'; end; ShowMessage(strT); end; MAPIFreeBuffer(lpRecips); end; {**********************************************************************} __________________________________________________ Delphi-Talk mailing list -> [email protected] http://www.elists.org/mailman/listinfo/delphi-talk __________________________________________________ Delphi-Talk mailing list -> [email protected] http://www.elists.org/mailman/listinfo/delphi-talk
