在编译运行时会出现:
Project myabc.exe raised exception class EVariantError with message
'Invalid variant type conversion' .Process stopped. ...但直接运行编译好的程序时没有报错。
我现在是用ODBC来连本地的ACCESS数据库。如果改成Jet 4.0 OLE DB来连的话不会报错。
请教大虾,这是什么原因?如何解决?
Project myabc.exe raised exception class EVariantError with message
'Invalid variant type conversion' .Process stopped. ...但直接运行编译好的程序时没有报错。
我现在是用ODBC来连本地的ACCESS数据库。如果改成Jet 4.0 OLE DB来连的话不会报错。
请教大虾,这是什么原因?如何解决?
你把代码贴出来看看
begin
Application.Initialize;
Application.CreateForm(TFrmMain, FrmMain);
Application.CreateForm(TFrmGlobal, FrmGlobal); //出错时光标停在这里
Application.CreateForm(TFrmAbout, FrmAbout);
Application.Run;
end.
执行Application.CreateForm(TFrmMain, FrmMain);这句时就弹出出错框了。
在TFrmGlobal的OnCreate事件里没有代码,
TFrmMain的OnCreate事件里代码为:
Application.OnHint := ShowHint;
//将进度条加入到状态条的第二格里
ARect := StatusBarMain.ClientRect;
ProgressBarMain.Parent := StatusBarMain;
ProgressBarMain.Left := StatusBarMain.Panels.Items[0].Width + 5;
ProgressBarMain.Top := 4;
ProgressBarMain.Height := StatusBarMain.ClientHeight - 6;
ProgressBarMain.Width := StatusBarMain.Panels.Items[1].Width - 8;再次说明一下,我觉得和用ODBC连数据库有关,因为我用Jet 4.0 OLE DB来连的话没有报错。
=======================================
你用'Build All Projects'编绎试试看
=========================================
执行时没有出错。
执行Application.CreateForm(TFrmMain, FrmMain);这句时就弹出出错框了。
//////////////////////////////////////////////////////////我觉得不太可能报你说的错误'Invalid variant type conversion' ,至少要执行到FrmMain的OnCreate里面的代码才能出现错误。F7是逐语句执行的。