我在WIN2000下写的数据库程序,采用的是ADO。一直没到WIN98和WINME下测试过,谁知一试却出错了,有两个提示信息是:链接文件****.EXE到不存在的USER32.DLL: SetLayeredWindowAttributes。另一个是:Unable to create process:与系统链接的设备不能正常运转。其中的‘****.EXE’是我的程序名称。我想WIN98下可能是ADO的原因,但我用的是第二版,这一原因应该是排除了的。而且我和程序是有一个欢迎窗口的,程序出错时连欢迎窗口都未出现。这时主窗口都未建立,别说数据模块了(而且WINME都不行,所以就一定不是ADO的原因了)。不过不管它,装上MDAC2.5再说,还是依旧。于是不得已装上DELPHI调试,发现这个错误我根本无法拦截到,一按F9就出错(我断点在Application.Initialize都拦截不到)。而且我同时有几个ADO的程序(是同一个大系统的子程序)都可运行,唯独主程序不可以运行,又找不到什么原因。各位大虾救我,100分不够再补,意见也有分。
不会连源码都不能编译的!
delphi5.0打过包,在win98下装个mdac2.6什么问题也没
并且user32.dll前面加了绝对路径,如winnt只是个猜测
"不好意思写错了:已经不是的ADO问题了..."我还以为你已经找到错误了呢,不好意思
看看问题在哪个.pas中
98下沒這個函數,2000下才有
你在98下有問題,在2000下運行正常,
這是因為你在某個Form中使用了這個屬性:AlphaBlend
該屬性只支持2000及發上系統,在98上用有問題。
你試圖取得透明的窗口,快快把這個屬性孌回false吧。與ADO無關。
是这样子吗?我要回去试试,我真是要命,星期天都得上班,上班不方便试。晚上试出来了,明天结贴。不过我程序里是没有那个意图的,不知道是否在舍地方用了。谢谢你先。
那个函数就是使窗口透明使用的。在Delphi6里面,这个SetLayeredWindowAttributes函数是动态加载的,应该不会出现问题,可能是你的程序里面静态连接了这个函数要不就是你的DLL或者附加程序静态调用了这个函数,你该成动态的即可。