调用dll 出现错误:cannot assingn a tfont to a tfont(20分)

  • 主题发起人 主题发起人 admin2008
  • 开始时间 开始时间
A

admin2008

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure export_data(DBGridEH:TDBGridEH); //数据导出
var ExpClass:TDBGridEhExportClass;
SaveDialog:TSaveDialog;
Ext:pchar;
begin
CoInitialize(nil);
SaveDialog:=TSaveDialog.Create(nil);
SaveDialog.FileName := '导出文件名';
saveDialog.Filter := 'Text files (*.txt)|*.TXT';
if SaveDialog.Execute then
begin
case SaveDialog.FilterIndex of
1: begin ExpClass := TDBGridEhExportAsText; Ext := 'txt'; end;
else
ExpClass := nil; Ext := '';
end;
if ExpClass <> nil then
begin
if UpperCase(Copy(SaveDialog.FileName,Length(SaveDialog.FileName)-2,3)) <>UpperCase(Ext) then
SaveDialog.FileName := SaveDialog.FileName + '.' + Ext;
SaveDBGridEhToExportFile(ExpClass,DBGridEh,SaveDialog.FileName,true);
end;
end;
SaveDialog.Free ;
CoInitialize(nil);
end;
这段代码写在dll里然后调用 打开保存窗口 当点保存按钮时就出现这样的错误:cannot assingn a tfont to a tfont
望兄弟们支招 谢了!
 
这是因为DLL中使用的TFont类与Exe所使用的TFont类是相互独立的两个类,Delphi无法正
确的Assign不同类的对象,请参考:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1805833
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1988384
 
恩 看了下 不过我是导出dbgrideh中的数据 打开保存对话框 点保存时就出错
我试了下代码 不行 同样的错误
 

Similar threads

I
回复
0
查看
733
import
I
I
回复
0
查看
644
import
I
I
回复
0
查看
887
import
I
I
回复
0
查看
565
import
I
后退
顶部