我找了一下,将这几个地方改改就可以用了,但是有没有新的问题还不知道。
第一,将PrintDBGridEh的基类改为TWinControl如下所示:
// TPrintDBGridEh = class(TComponent) //大文改为如下所示
TPrintDBGridEh = class(TWinControl) //如果用TWinControl就可以建立可是在预览的时候还是有问题
第二,将PrintRichText过程中的Flush buffer去掉,因为在Dll程序中 RichText不能自动获得一个Parent window handle
procedure PrintRichText(Strings:TRichEditStrings); //大文改过
begin
.
.
.
//大文屏蔽掉 SendMessage(Strings.RichEdit.Handle, EM_FORMATRANGE, 0, 0); // flush buffer
//大文屏蔽掉 LastChar := SendMessage(Strings.RichEdit.Handle, EM_FORMATRANGE, RangeMode, Longint(@Range));
//大文屏蔽掉 SendMessage(Strings.RichEdit.Handle, EM_FORMATRANGE, 0, 0); // flush buffer
.
.
.
end;