vc中定义 
typedef struct tagINVOICEDATA {
char szFpCryptograph[88];
char szFpEnVersion[8];
char szFpCode[16];          
char szFpSeriaoNo[16];
char szFpDate[16];
char szFpBuyerTaxNo[16];
char szFpSellerTaxNo[16];
char szFpSum[32];
char szFpTaxRate[16];
char szFpTax[32];
char szFpTotal[32];
char szFpImage[224]; 
char szFpCodePrinted[16];   
char szFpSNPrinted[16];
} INVOICEDATA, *PINVOICEDATA;函数定义
int  WINAPI FpGetNewPage(PINVOICEDATA lpFpBuffer);在delphi中引用函数。
Function FpGetNewPage(lpFpBuffer: PINVOICEDATA):Integer ;StdCall external 'scanreco.dll' ;定义参数
type
    tagINVOICEDATA = record    szFpCryptograph: array [0..87] of pchar;
    szFpEnVersion: array [0..7] of pchar;
    szFpCode:array [0..16] of pchar;   
    szFpSeriaoNo:array [0..16] of pchar;
    szFpDate:array [0..16] of pchar;
    szFpBuyerTaxNo:array [0..16] of pchar;
    szFpSellerTaxNo:array [0..16] of pchar;
    szFpSum:array [0..32] of pchar;
    szFpTaxRate:array [0..16] of pchar;
    szFpTax:array [0..32] of pchar;
    szFpTotal:array [0..32] of pchar;
    szFpImage:array [0..224] of pchar; 
    szFpCodePrinted:array [0..16] of pchar;
    szFpSNPrinted:array [0..16] of pchar;
   end ;
调用函
var aa :integer ;
    n  :tagINVOICEDATA;aa := FpGetNewPage(@n)
现返回值不对大家看看有没有什么问题。
或者有其它的方法解决