关于dbgrideh导出数据的问题
我用DBGRIDEH导出数据,以前都可以,现在在我的机子上导出就出错:
project asw.exe raised exception class EAccessviolation with message 'Access violation at address 00000000.READ of address 00000000 '.Process stopped.Use step or run to continue
我用的excel2000
代码如下:
var ExpClass:TDBGridEhExportClass;
Ext:String;
begin
SaveDialog1.FileName := 'file1 ';
if (ActiveControl is TDBGridEh) then
if SaveDialog1.Execute then
begin
case SaveDialog1.FilterIndex of
1: begin ExpClass := TDBGridEhExportAsText; Ext := 'txt '; end;
2: begin ExpClass := TDBGridEhExportAsCSV; Ext := 'csv '; end;
3: begin ExpClass := TDBGridEhExportAsHTML; Ext := 'htm '; end;
4: begin ExpClass := TDBGridEhExportAsRTF; Ext := 'rtf '; end;
5: begin ExpClass := TDBGridEhExportAsXLS; Ext := 'xls '; end;
else
ExpClass := nil; Ext := ' ';
end;
if ExpClass <> nil then
begin
if UpperCase(Copy(SaveDialog1.FileName,Length(SaveDialog1.FileName)-2,3)) <>
UpperCase(Ext) then
SaveDialog1.FileName := SaveDialog1.FileName + '. ' + Ext;
SaveDBGridEhToExportFile(ExpClass,TDBGridEh(ActiveControl),
SaveDialog1.FileName,False);
end;
end;
这是DEMO里的标准代码,以前都没有错的,谁知道怎么回事.
[解决办法]
单步调试,看看是什么地方出现了问题
[解决办法]
是不是字段???
[解决办法]
问题应该不在这段代码上,仔细跟踪一下错出在那里