Z zygtp Unregistered / Unconfirmed GUEST, unregistred user! 2003-12-30 #1 我在dll中调用QuickReport的Preview方法,在关闭预览窗口时他的父程序出现地址错误,但在delphi下同样使用却不出错,请各位帮忙?
Z zygtp Unregistered / Unconfirmed GUEST, unregistred user! 2003-12-30 #2 C++builder6中出现错误,动态库中直接调用报表出错,如果动态库中的窗体调用报表则 不出错。
Z zygtp Unregistered / Unconfirmed GUEST, unregistred user! 2003-12-30 #4 释放了,用窗体的ShowModal正常,改为QuickRep1->Preview()或QuickRep1->PreviewModal()就出错,用QuickRep1->Print()也正常,问题就在Preview()里面可能做了些特殊处理
释放了,用窗体的ShowModal正常,改为QuickRep1->Preview()或QuickRep1->PreviewModal()就出错,用QuickRep1->Print()也正常,问题就在Preview()里面可能做了些特殊处理
Z zygtp Unregistered / Unconfirmed GUEST, unregistred user! 2003-12-30 #6 bool _export __stdcall Fun_RunCard(TDLLFace *iDLLFace) { DLLFace=iDLLFace; try { rep_RunCard=new Trep_RunCard(Application); // rep_RunCard->QuickRep1->Print();//正常 rep_RunCard->QuickRep1->Preview();////出错 delete rep_RunCard;rep_RunCard=NULL; return true; } catch(...) { delete rep_RunCard;rep_RunCard=NULL; return false; } }
bool _export __stdcall Fun_RunCard(TDLLFace *iDLLFace) { DLLFace=iDLLFace; try { rep_RunCard=new Trep_RunCard(Application); // rep_RunCard->QuickRep1->Print();//正常 rep_RunCard->QuickRep1->Preview();////出错 delete rep_RunCard;rep_RunCard=NULL; return true; } catch(...) { delete rep_RunCard;rep_RunCard=NULL; return false; } }
A app2001 Unregistered / Unconfirmed GUEST, unregistred user! 2003-12-31 #7 rep_RunCard=new Trep_RunCard(Application); //换成rep_RunCard=new Trep_RunCard(nil); 这个问题在刘艺的面向对象的编程思想中有描述,强调创建时不要使用Application,如果手工进行释放时,推荐用nil,你试试看?
rep_RunCard=new Trep_RunCard(Application); //换成rep_RunCard=new Trep_RunCard(nil); 这个问题在刘艺的面向对象的编程思想中有描述,强调创建时不要使用Application,如果手工进行释放时,推荐用nil,你试试看?
Z zygtp Unregistered / Unconfirmed GUEST, unregistred user! 2003-12-31 #8 同样出错,我在delphi中使用一直没问题 将 rep_RunCard->QuickRep1->Preview();////出错 改为rep_RunCard->ShowModal();//正常 或先调用窗体,在窗体里再调用该报表也正常, 我怀疑是Exe和dll未保持一致,但我也试过将exe的application传递给dll也不行,并且发现 即使不传他们两个的地址也一样。
同样出错,我在delphi中使用一直没问题 将 rep_RunCard->QuickRep1->Preview();////出错 改为rep_RunCard->ShowModal();//正常 或先调用窗体,在窗体里再调用该报表也正常, 我怀疑是Exe和dll未保持一致,但我也试过将exe的application传递给dll也不行,并且发现 即使不传他们两个的地址也一样。
X xiaodiao75 Unregistered / Unconfirmed GUEST, unregistred user! 2004-01-07 #9 试试 看你的QuickRep 的版本是否升级。 borland 的QuickRep以前的版本内存释放不干净 我也出现过那种问题。 使用高版本的 QuickRep 就可以了