结构定义
Type
A3DWORD=Array [0..2] of DWord;Type
p3DWord=^A3DWORD;Type
TFAX_JOB_PARAM=Record
SizeOfStruct:DWord;
RecipientNumber:PChar;
RecipientName:PChar;
Tsid:PChar;
SenderName:PChar;
SenderCompany:PChar;
SenderDept:PChar;
BillingCode:PChar;
ScheduleAction:DWord;
ScheduleTime:TDateTime;
DeliveryReportType:DWord;
DeliveryReportAddress:PChar;
DocumentName:PChar;
CallHandle:Pointer;
Reserved:p3DWord;
end;Type
pointFAX_JOB_PARAM=^TFAX_JOB_PARAM;
函数中的处理
//获得打印参数
if (FaxCompleteJobParams(bFAX_JOB_PARAM, bFAX_COVERPAGE_INFO)=0) then
begin
FaxClose(aFaxPortHandle);
FaxClose(aFaxHandle);
ShowMessage('获得打印参数失败!');
exit;
end; //bFAX_JOB_PARAM.CallHandle:=nil;
bFAX_JOB_PARAM.RecipientNumber :='0,83875732';
bFAX_JOB_PARAM.RecipientName := '王';
bFAX_JOB_PARAM.Tsid := 'Fax';
bFAX_JOB_PARAM.SenderName := 'C';
bFAX_JOB_PARAM.SenderCompany := 'H';
bFAX_JOB_PARAM.SenderDept := 'Commerce';
bFAX_JOB_PARAM.BillingCode := 'HSFAX';
bFAX_JOB_PARAM.ScheduleAction := JSA_NOW;
bFAX_JOB_PARAM.ScheduleTime := now;
bFAX_JOB_PARAM.DeliveryReportType := DRT_NONE;
bFAX_JOB_PARAM.DeliveryReportAddress := '';
bFAX_JOB_PARAM.DocumentName := '采购单';
bFAX_JOB_PARAM.CallHandle := nil;
//ShowMessage(bFAX_JOB_PARAM.RecipientName);
//showmessage(IntToStr(bFAX_JOB_PARAM.SizeOfStruct)); if bFAX_JOB_PARAM.CallHandle<>nil then
showmessage(IntToStr(bFAX_JOB_PARAM.SizeOfStruct));
aP3DWord[0]:=0;
aP3DWord[1]:=0;
aP3DWord[2]:=0;
//aP3DWord[3]:=0;
bFAX_JOB_PARAM.Reserved:=@aP3DWord;
bFAX_JOB_PARAM.SizeOfStruct:=sizeof(TFAX_JOB_PARAM); FaxJobId:=0;
pFaxJobId:=@FaxJobId;
//发出传真文件
iTmp:=FaxSendDocument(aFaxHandle,
aFileName,
@bFAX_JOB_PARAM,
nil,//@bFAX_COVERPAGE_INFO,
pFaxJobId);
if iTmp=0 then
begin
FaxClose(aFaxPortHandle);
FaxClose(aFaxHandle);
iTmp:=GetLastError;
ShowMessage('发出传真文件失败!Error Code is '+intToStr(iTmp));
exit;
end;结果总是返回87号错误,含义就是参数不正确,有无高手给予解答,十分感谢!!!附windows底层的结构的说明
typedef struct _FAX_JOB_PARAM (
DWORD SizeOfStruct;
LPCTSTR RecipientNumber;
LPCTSTR RecipientName;
LPCTSTR Tsid;
LPCTSTR SenderName;
LPCTSTR SenderCompany;
LPCTSTR SenderDept;
LPCTSTR BillingCode;
DWORD ScheduleAction;
SYSTEMTIME ScheduleTime;
DWORD DeliveryReportType;
LPCTSTR DeliveryReportAddress;
LPCTSTR DocumentName;
HCALL CallHandle;
DWORD_PTR Reserved[3];
) FAX_JOB_PARAM, *PFAX_JOB_PARAM;
Type
A3DWORD=Array [0..2] of DWord;Type
p3DWord=^A3DWORD;Type
TFAX_JOB_PARAM=Record
SizeOfStruct:DWord;
RecipientNumber:PChar;
RecipientName:PChar;
Tsid:PChar;
SenderName:PChar;
SenderCompany:PChar;
SenderDept:PChar;
BillingCode:PChar;
ScheduleAction:DWord;
ScheduleTime:TDateTime;
DeliveryReportType:DWord;
DeliveryReportAddress:PChar;
DocumentName:PChar;
CallHandle:Pointer;
Reserved:p3DWord;
end;Type
pointFAX_JOB_PARAM=^TFAX_JOB_PARAM;
函数中的处理
//获得打印参数
if (FaxCompleteJobParams(bFAX_JOB_PARAM, bFAX_COVERPAGE_INFO)=0) then
begin
FaxClose(aFaxPortHandle);
FaxClose(aFaxHandle);
ShowMessage('获得打印参数失败!');
exit;
end; //bFAX_JOB_PARAM.CallHandle:=nil;
bFAX_JOB_PARAM.RecipientNumber :='0,83875732';
bFAX_JOB_PARAM.RecipientName := '王';
bFAX_JOB_PARAM.Tsid := 'Fax';
bFAX_JOB_PARAM.SenderName := 'C';
bFAX_JOB_PARAM.SenderCompany := 'H';
bFAX_JOB_PARAM.SenderDept := 'Commerce';
bFAX_JOB_PARAM.BillingCode := 'HSFAX';
bFAX_JOB_PARAM.ScheduleAction := JSA_NOW;
bFAX_JOB_PARAM.ScheduleTime := now;
bFAX_JOB_PARAM.DeliveryReportType := DRT_NONE;
bFAX_JOB_PARAM.DeliveryReportAddress := '';
bFAX_JOB_PARAM.DocumentName := '采购单';
bFAX_JOB_PARAM.CallHandle := nil;
//ShowMessage(bFAX_JOB_PARAM.RecipientName);
//showmessage(IntToStr(bFAX_JOB_PARAM.SizeOfStruct)); if bFAX_JOB_PARAM.CallHandle<>nil then
showmessage(IntToStr(bFAX_JOB_PARAM.SizeOfStruct));
aP3DWord[0]:=0;
aP3DWord[1]:=0;
aP3DWord[2]:=0;
//aP3DWord[3]:=0;
bFAX_JOB_PARAM.Reserved:=@aP3DWord;
bFAX_JOB_PARAM.SizeOfStruct:=sizeof(TFAX_JOB_PARAM); FaxJobId:=0;
pFaxJobId:=@FaxJobId;
//发出传真文件
iTmp:=FaxSendDocument(aFaxHandle,
aFileName,
@bFAX_JOB_PARAM,
nil,//@bFAX_COVERPAGE_INFO,
pFaxJobId);
if iTmp=0 then
begin
FaxClose(aFaxPortHandle);
FaxClose(aFaxHandle);
iTmp:=GetLastError;
ShowMessage('发出传真文件失败!Error Code is '+intToStr(iTmp));
exit;
end;结果总是返回87号错误,含义就是参数不正确,有无高手给予解答,十分感谢!!!附windows底层的结构的说明
typedef struct _FAX_JOB_PARAM (
DWORD SizeOfStruct;
LPCTSTR RecipientNumber;
LPCTSTR RecipientName;
LPCTSTR Tsid;
LPCTSTR SenderName;
LPCTSTR SenderCompany;
LPCTSTR SenderDept;
LPCTSTR BillingCode;
DWORD ScheduleAction;
SYSTEMTIME ScheduleTime;
DWORD DeliveryReportType;
LPCTSTR DeliveryReportAddress;
LPCTSTR DocumentName;
HCALL CallHandle;
DWORD_PTR Reserved[3];
) FAX_JOB_PARAM, *PFAX_JOB_PARAM;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货