奇怪的问题!(50分)

  • 主题发起人 主题发起人 梦菲斯
  • 开始时间 开始时间

梦菲斯

Unregistered / Unconfirmed
GUEST, unregistred user!
我做一个C/要的程序,用了一个DataModal,在本机上调试正常,但我拷到其它机器上以后
程序就运行不了,后来我把DataModal的自动生成屏蔽了,程序就能运行,我实在不知为
什么?
Application.CreateForm(TfrmMain, frmMain);
//Application.CreateForm(TDM, DM);
————————————————————————————————————
procedure TDM.DataModuleCreate(Sender: TObject);
begin
showmessage('test');//这里在其它机器上就没运行了,在本机上可以运行。
end;
 
其他计算机上是否能够连接你的数据库?
应该是其他计算机没有办法正常连接数据库,导致查找网路速度很慢,类似死机。
 
Application.CreateForm(TDM, DM);
Application.CreateForm(TfrmMain, frmMain);
 
你的意思是动态创建就可以?
 
其它机器能连接,我在FrmMain 处用showmessage()也运行了,但在TDM 创建后程序就退出
了,交换也不行。
 
同意xyl999,如果有data module的话,应该将它放在最先生成的位置!
我一般的作法是先有一启动页面,然后是生成data module,在data module中进行一系列的
初始化动作,如果data module在生成时出错,则进行消息提示,并直接退出程序的运行。
 
楼上的,你的说法很对,但我试过,问题没解决(在本机上很正常),到其它机器上才会
出现这种情况。所以我才说奇怪的问题。
 
我听朋友说可是少了一个MIDAS.DLL,但我把这个文件也拷到其它机器上注册了,但还是不行
我想应该是差了个什么DLL吧,但实在想不出是哪个,请大侠们帮帮忙!
 
你的数据库连接引擎的连接字符串是否正确,如AdoConnection的ConnectionString是否正确?
 
数据库连接肯定没错。我以前一直都这么用的,但这次出的问题真很妈的不知为什么?
 
你能把你DataModual中所用到的数据访问控件告诉我吗?并将你的DataModual中的代码写出来吗?以便让我深入查找问题。
 
用到的控件adoconnection, adodataset, datasource, adoquery
procedure TDM.DataModuleCreate(Sender: TObject);
begin
//这里加showmessage()在未装delphi的机器上不能运行,本机上正常。
sFilePath := ExtractFilePath(application.ExeName)+ 'DATACONNECTION.udl';
//showmessage(sFilePath);
if not(fileexists(sFilePath)) then begin
bError := true;
end
else begin
conn.close ;
Conn.ConnectionString := 'FILE NAME='+ sFilePath;
try
Conn.Connected := true;
except
exit;
end ;
end;

if bError then errText := '系统不能连接到数据,请检测数据库配置!' +
'或者数据库连接配置文件dataconnection.udl不存在?' ;
try
if NOt FileExists(sFilePath) then begin errText :='系统配置文件'+
'DATACONNECTION.ini不存在,系统不能继续' ;
showmessage(errText);
Application.Terminate ;
end;
except
Application.Terminate ;
end;
end;
好像是设了dataset 的属性后就不行了。
未报任何错误。
 
各位FW,继续啊!吾将感激不尽!
 
你应该检查在其它机器上是否安装了SQLAerver数据库引擎,在ODBC数据源中查看!
 
[blue]你可以在DataModula上放一个Win32页面上的TApplicationEvents元件,在OnException事件
中写如下代码:ShowMessage(E.Message);
这样就能够检测出异常,你可以根据此异常查看原因![/blue]
 
zhengbo兄,我试过了,还是不行,未报任何异常。
 
1.其他机器上的BDE是否安装;
2.SQLSERVER数据客户端是否安装
3.编译程序的方式是怎样的.工程选项中是否选中了"build with runtime packages",
 
我是用ADO连的!以前的我都没装SQL客户端啊.
 
改成客户机运行,配置文件'DATACONNECTION.udl'有没有作相应修改?
数据都是本机的吗?

 
你用Ado连接SQLServer 数据库。客户端必须安装SQLServer的客户端网络连接工具,否则
无法通过Ado连接SQLServer数据库!你只要安装了SQLServer客户端就可以解决客户端无法连接
SQLServer数据库服务器的问题!
 
后退
顶部