为什么我的程序在没有安装delphi的机器上运行不了?

shooterwin 2003-08-10 08:26:56
我的程序使用setup factory打包,打包的时候包含所有文件,使用的是sql server,使用odbc进行数据源连接,配置好运行时提示找不到BDE(具体没有记下来),是不是我打包的错误?打包时应该包含哪些文件?
...全文
33 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
yagi1976 2003-08-12
  • 打赏
  • 举报
回复
看一下你的连接方式是什么,如果Tcp/IP的方式不行用管通道试试.
crystal1024 2003-08-12
  • 打赏
  • 举报
回复
楼上的再说清楚点好么?
trnzak 2003-08-12
  • 打赏
  • 举报
回复
这种情况我碰见过,是sql server的问题,打包又一个文件没又打进去,我也不知道怎样解决,但是装一下sql server的客户端就好用了。
随风奔跑 2003-08-12
  • 打赏
  • 举报
回复
应该就是bde没有打包进去。
楼上有大侠已经贴出打包的说明了
bxh2dai 2003-08-12
  • 打赏
  • 举报
回复
缺少对BDE的设置,如果改用ADO会好一点,另外在看看sql server 客户端配制没
2312 2003-08-12
  • 打赏
  • 举报
回复
一定提示缺少了 dll文件,重新打包,把缺少的文件打包进去


另外,也建议用ADO做连接
cscer 2003-08-12
  • 打赏
  • 举报
回复
数据库使用SQL Server的话,

建议使用ADO做连接

在Windows上基本不需要安装
zhudongpo 2003-08-12
  • 打赏
  • 举报
回复
需要bde
mengxianbao1521 2003-08-12
  • 打赏
  • 举报
回复
如果你用D6开发,使用ADO连接,应该没有问题.
但如果用BDE,那问题可就多了,大部分是DBE打包不彻底,缺少配置文件造成的问题...
dengyueguang 2003-08-12
  • 打赏
  • 举报
回复
bde打包的时候一定要打进去,否则就不行
HuterTT 2003-08-12
  • 打赏
  • 举报
回复
用ADO还是可以,只要用熟悉了就好了!

建议还是使用ADO
shooterwin 2003-08-12
  • 打赏
  • 举报
回复
这里先谢谢大家。
第一次独自开发一个项目,弄得乱七八糟,改用ado好像不太方便,我试试xiaoyupzy(pzypzy) 的方法。下次来给大家发分。
knock 2003-08-11
  • 打赏
  • 举报
回复
: xiaoyupzy(pzypzy) 说的就把整个问题说明白了,是缺少了那些 dll!
fhuibo 2003-08-11
  • 打赏
  • 举报
回复
应该是BDE的问题
没有安装建议搂主以后用ADO
gridcomputing 2003-08-11
  • 打赏
  • 举报
回复
sigh
delphfan 2003-08-11
  • 打赏
  • 举报
回复
应该可以的,ODBC的数据源测试只要成功,就可以了.
xiaoyupzy 2003-08-11
  • 打赏
  • 举报
回复
精简Delphi数据库应用系统-定制BDE驱动程序

--------------------------------------------------------------------------------

---- Delphi程序员都知道,在数据库应用程序开发完成后,要发布程序需要同时发布BDE(Borland Database Engine),否则会引起错误“A Error occurred while attempingto initilize Borland Database Engine(Error $2109)”。当觉得程序太大而辛辛苦苦精简自己的程序到满意时,却发现BDE管理程序器需要9M之巨,不由感到沮丧,真有点自己的努力被糟蹋的感觉。不过也不必太沮丧,只要肯尝试,还是有办法来精简BDE的。

---- 首先来看看BDE目录中的文件,所有文件确实有近9M大吧。不过有些可能是用不到的,关键文件的作用可参见Bde32.HLP中“Introduction to Borland Database Engine”下的“Core BDE Files”,其中列出了BDE的关键文件及其作用,可以以此作为依据来尝试精简BDE驱动程序。下面是各个文件的作用:

---- 一、不可缺少的文件

---- Blw32.dll:语言驱动函数库。

---- Idapi32.dll:BDE基本函数库。

---- Fareast.bll、Usa.bll:远东语言及美国语言驱动程序,对中文软件不可缺少。

---- Idr20009.dll:错误信息库。

---- 二、数据库驱动程序(根据需要选择一个或多个)

---- Idasci32.dll:Ascii文本数据库驱动程序函数库,如果不用Ascii文本数据库,可以不要。

---- Iddao32.dll:Access数据库驱动程序函数库,如果不用Access数据库,可以不要。

---- Iddbas32.dll:dBase数据库驱动程序函数库,如果不用dBase数据库,可以不要。

---- Idodbc32.dll:ODBC数据库驱动程序函数库,如果不用ODBC数据库,可以不要。

---- Idpdx32.dll:Paradox数据库驱动程序函数库,如果不用Paradox数据库,可以不要。

---- 三、其它驱动程序和配置文件(根据需要选择一个或多个)

---- Idbat32.dll:批操作驱动程序函数库,如果不用TBatchMove控件或DbiBatchMove类函数,可以不要。

---- Iddr32.dll:Data Repository驱动程序函数库,如果不用Data Repository功能,可以不要。

---- Idprov32.dll:BDE DataSet provide驱动程序函数库,如果不用TProvider控件,可以不要。

---- Idqbe32.dll:QBE驱动程序函数库,如果不用Query By Example,可以不要。

---- Idsql32.dll:SQL查询驱动程序函数库,如果不用TQuery进行查询,可以不要。

---- Idapi32.cfg:BDE配置文件,如果程序中没有特殊要求,可以不要。也可以在BDE管理器中设置正确后再分发。

---- 四、其它文件(一般不用)

---- BDE32.HLP、BDE32.CNT:BDE帮助文件,可以不要。

---- BdeAdmin.exe、BdeAdmin.HLP、BdeAdmin.CNT:BDE管理器及帮助文件,如果不会发生要求软件用户自己配置BDE的情况时,可以不要。

---- 其它*.BLL:其它国家和地区的语言驱动程序,可以不要。

---- DataBump.EXE、DataBump.HLP、DataBump.CNT:数据库数据转移工具及帮助文件,可以不要。

---- Localsql.HLP、Localsql.CNT:SQL查询语句帮助文件,可以不要。

---- Sqllnk32.HLP、Sqllnk32.CNT:SQL连接帮助文件,可以不要。

---- 在根据需要选择文件后,还要写注册表文件。这个应该不成问题,可以手工设置,但最好在程序中设置,在发现注册表中没有相应键值时写入,用TRegFile对象用不了几行代码的。需要设置的注册表键值有(在调用数据库操作前需要有正确的键值存在):

---- 数据驱动程序所在目录的设置:

---- HKEY_LOCAL_MACHINE\Software\Borland\Database Engine\DLLPATH(字符串值)

---- 语言驱动程序所在目录的设置:

---- HKEY_LOCAL_MACHINE\Software \Borland\BLW32\BLAPIPATH(字符串值)

---- 语言驱动程序文件名:HKEY_LOCAL_MACHINE\ Software\Borland\BLW32\LOCALE_LIB#(字符串值)



 其中#为编号,按顺序为0、1、2、3......如:
 HKEY_LOCAL_MACHINE\Software\Borland\
BLW32\LOCALE_LIB0="fareasst.bll"
 HKEY_LOCAL_MACHINE\Software\Borland
\BLW32\LOCALE_LIB1="usa.bll"
---- 就这些了,按此办法即可有效减少BDE驱动程序的大小,例如只用TTable控件操作Paradox数据库,则只要Idapi32.dll、Blw32.dll、Idr20009.dll、Fareast.bll、Usa.bll、Idpdx32.dll六个文件即可。

---- 这些文件可放在任何一个目录,只要在注册表指明即可。OK,BDE由9M多减到不到2M,ZIP一下就700多K了,比原来的应用系统减少了不少吧。

邹工 2003-08-11
  • 打赏
  • 举报
回复
打包时把bde也包含进去.

我也遇到过同样的问题.
Spqk005 2003-08-11
  • 打赏
  • 举报
回复
改用ADO连接
试试行不行
shooterwin 2003-08-11
  • 打赏
  • 举报
回复
我的打包程序在安装了delphi的机器上运行正常。odbc也配置正确。存在 sql server 的客户端。只是没有安装 delphi,不存在 bde administrator,只有数据源(odbc),但是也正确配置,不知道怎么回事。
加载更多回复(7)
NET程序员的开发利器.NET Reflector 一、 简介   程序集,作为.NET时代的动态链接库,蕴藏了太多的软件秘密。为此,Visual Studio内置的ILDASM成为最初挖掘程序集的上佳工具。但自从Reflector出现后,ILDASM相形见拙。因为,Reflector能提供更多的程序集信息,而且是免费的工具。   如今,在Visual Studio.NET中编译源代码(无论是VB还是C#)时,编译器都会将高级源代码翻译成MSIL,即“微软中间语言”,而不是特定的机器指令。具有更多安全性、版本控制、共享能力与其它相关元数据的中间语言(IL),是包在一个或多个DLL或可执行文件中的。   基于ILDASM检查程序集中的IL有时很有用,但它要求我们熟悉MSIL。通常,比起IL,大多数开发人员对像C#或Visual Basic这样的高级程序设计语言更为熟悉。   Reflector的出现使.NET程序员眼前豁然开朗,因为这个免费工具可以将.NET程序集中的中间语言反编译成C#或者Visual Basic代码。除了能将IL转换为C#或Visual Basic以外,Reflector还能够提供程序集中类及其成员的概要信息、提供查看程序集中IL的能力以及提供对第三方插件的支持。   二、 下载与运行Reflector   Reflector是由微软员工Lutz Roeder编写的免费程序。这个软件经常更新,你可以在http://www.aisto.com/roeder/dotnet下载最新的版本。在本文成文之时,Reflector的最新版本为5.0.35.0,仅有1M大小。只要双击下载后的Reflector.exe文件即可运行Reflector。   默认情况下,Reflector会打开一组公共程序集(mscorlib、System、System.Data、System.Drawing等等)。每个打开的程序集都列在Reflector的主窗口中。单击程序集旁边的+图标可以展开树结构并展示程序集的命名空间。每个命名空间旁边都有一个相关的+图标,单击这个图标将显示这个命名空间内的类。除此以外,还可以展开每个类,显示类的成员:事件、字段、方法与属性。   要想查看其它程序集(包括我们自己创建的程序集)的细节,你可以使用菜单命令“File→Open”。然后,浏览到想要查看的程序集。只要选择了有效的.NET程序集,这个程序集就可以在Reflector的主窗口中与其它默认程序集共同显示。要想从Reflector的主窗口中删除程序集,只需右击程序集并选择“Close”。   三、 使用Reflector反汇编程序集   提供基本的程序集是Reflector唾手可得的功能,然而,Reflector真正的威力体现在它的反汇编能力。只要浏览到类级的成员,就可以通过Tools菜单中的Disassembler项(或在该项上单击右键)反汇编此成员。这将打开第二个窗格,以C#、Visual Basic、Delphi或者IL显示反汇编后的内容。图2以C#语言展示了对SmtpClient类中Abort方法的反汇编结果。   有了Reflector的反编译功能,要研究.NET框架基类库就容易多了。我们完全可以在没有源代码的情况下研究我们所创建或者正在使用的程序集相应源代码。   不用太担心,你自己的.NET应用程序还有其它受保护措施。但是,想阻止别人查看.NET程序集的IL(继而反编译成C#或者Visual Basic)是不可能的,但你可以使用“混淆”技术使IL变得混乱。目前,市场上有许多.NET混淆产品,比如:PreEmptive Solution的Dotfuscator、WiseOwl的Dmeanor以及Remotesoft的.NET Obfuscator等。   四、 Reflecator的其它功能   除了作为对象浏览器与反汇编器之外,Reflector还可以显示类与其成员的调用与被调用图、提供单键访问Google或MSDN搜索的能力并提供了允许第三方开发人员为Reflector创建插件的框架。   要查看调用或被调用图,只需要在树视图中选择一个成员,访问Tools菜单,选择Call Graph或Callee Graph选项即可。Call Graph会列出所选项所调用的成员,而Callee Graph列出调用所选项的成员。   通过使用插件,Reflector的功能可以得到进一步扩展。目前有能显示程序集依赖图、自动加载当前运行中的程序集、输出整个程序集的反汇编内容以及在Visual Studio中作为Reflector的宿主等的插件。还有更多插件都列在http://www.codeplex.com/reflectoraddins中。在此,我极力推荐有兴趣的读者前去一看。   不出乎所料,的确存在一个Reflector.VisualStudio插件。有了这个插件,就可以让Reflector集成在Visual Studio环境中,进而取代以前那个有些“拙漏”的对象浏览器。   首先,我们需要在机器上准备Reflector的最新版,然后从http://www.testdriven.NET/reflector下载最新版本的Reflector.VisualStudio插件。据说安装了此插件之后,Reflector能够与Visual Studio完美融合。但遗憾的是,本人试下载此软件并安装(仅能得到TestDriven.NET-2.8.2130 RTM个人测试版本,时间7/30/2007,大小3.3M)后,没有大发现—仅是在VS2005中添加“Go to Reflector”和一个帮助菜单项。点击“Go to Reflector”菜单项仅是从VS2005内部启动Reflector而已。   有了Reflector.VisualStudio插件(正版,下面是根据在线资料介绍),Reflector可以寄在Visual Studio中Reflector不仅是一个对象浏览器、反汇编器,包裹在同一个程序中的所有功能还可以寄于Visual Studio中。   五、 小结   还记得Spy++吗?在Win32时代,这个软件对于我们分析一个陌生软件的设计思路可谓立下汗马功劳。在如今的.NET时代,Reflector又成为每个严肃的.NET开发人员工具箱中必不可少的精髓工具之一。怎么样,请赶紧试锋吧。

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧