procedure TOCXPrint4ITHC.Init(const printContent: WideString);
var
buffer : Pchar;
winDir : string;
begin
//判断报表类型
docType := GetPrintType(printContent); //取得windows路径,报表模板存在windows目录中
getMem(Buffer,256);
getwindowsdirectory(Buffer,256);
winDir := strpas(Buffer);
freemem(Buffer); //载入报表模板
frReport.LoadFromFile(windir + '\' + docType + '.frf');
if docType = 'Vaccination_Doc' then
SetDoc4Vaccination_Doc(printContent);
//默认可以打印背景图
printBK := true;
//预览报表
frReport.ShowReport;
end;procedure TOCXPrint4ITHC.SetDoc4Vaccination_DOC(printContent : WideString);
var
VaccinationDoc : TVaccinationDoc;
json : TJSONObject;
begin
json := TJSONObject.create(printContent); VaccinationDoc := TVaccinationDoc.Create;
VaccinationDoc.certno := json.getString('certno');
doc := VaccinationDoc;
frReport.OnGetValue := GetValue4Vaccination_DOC;
end;procedure TOCXPrint4ITHC.GetValue4Vaccination_DOC(const ParName: String;var ParValue: Variant);
var
VaccinationDoc : TVaccinationDoc;
begin
VaccinationDoc := TVaccinationDoc(doc); ParValue := ''; if AnsiCompareText(ParName,'certno')=0 then
ParValue:=VaccinationDoc.certno;
end;
这里 certno 已经定义值了呀.为什么还报 符号没定义"certno" 的错误?
var
buffer : Pchar;
winDir : string;
begin
//判断报表类型
docType := GetPrintType(printContent); //取得windows路径,报表模板存在windows目录中
getMem(Buffer,256);
getwindowsdirectory(Buffer,256);
winDir := strpas(Buffer);
freemem(Buffer); //载入报表模板
frReport.LoadFromFile(windir + '\' + docType + '.frf');
if docType = 'Vaccination_Doc' then
SetDoc4Vaccination_Doc(printContent);
//默认可以打印背景图
printBK := true;
//预览报表
frReport.ShowReport;
end;procedure TOCXPrint4ITHC.SetDoc4Vaccination_DOC(printContent : WideString);
var
VaccinationDoc : TVaccinationDoc;
json : TJSONObject;
begin
json := TJSONObject.create(printContent); VaccinationDoc := TVaccinationDoc.Create;
VaccinationDoc.certno := json.getString('certno');
doc := VaccinationDoc;
frReport.OnGetValue := GetValue4Vaccination_DOC;
end;procedure TOCXPrint4ITHC.GetValue4Vaccination_DOC(const ParName: String;var ParValue: Variant);
var
VaccinationDoc : TVaccinationDoc;
begin
VaccinationDoc := TVaccinationDoc(doc); ParValue := ''; if AnsiCompareText(ParName,'certno')=0 then
ParValue:=VaccinationDoc.certno;
end;
这里 certno 已经定义值了呀.为什么还报 符号没定义"certno" 的错误?
为什么会报这个错误? 我在 Vaccination_DOC.frf 的页面里只放了一个 [certno] ;