Delphi 6环境下如何创建WIALib_TLB.dcu完成代码编译
Delphi 6 编译缺失WIALib_TLB.dcu的解决方法
核心原因是Windows UAC权限限制,Delphi6没有适配后续版本Windows的UAC机制,默认的Imports目录在系统受保护的Program Files (x86)路径下,普通权限启动IDE时根本写不进去文件,所以看着导入流程走完了,实际pas文件根本没生成到标注的路径里,自然也找不到对应的dcu。
按以下步骤操作即可:
- 先关闭当前打开的Delphi 6,右键点击Delphi6的启动快捷方式,选择「以管理员身份运行」重启IDE,规避系统目录写入权限限制。
- 重新执行类型库导入操作:
- 点击顶部菜单栏
Project->Import Type Library打开导入窗口 - 在类型库列表中找到「Microsoft Windows Image Acquisition Library v1.0」项选中;如果列表里找不到,先开管理员权限的命令提示符,执行
regsvr32 wiaaut.dll完成WIA库注册,再重启Delphi重新打开导入窗口就能看到 - 不要使用窗口默认标注的
C:\Program Files (x86)\Borland\Delphi6\Imports输出路径,点击路径选择按钮,手动选一个你有完全读写权限的目录,比如当前要编译的项目的根目录,或者单独建个存放第三方导入单元的文件夹 - 确认路径后点击
Create Unit,此时打开你刚才手动选择的目录,就能找到生成好的WIALib_TLB.pas文件
- 点击顶部菜单栏
- 生成对应dcu文件选任意一种方式即可:
- 直接把
WIALib_TLB.pas文件拖入当前项目的Project Manager文件列表,和项目自身代码放在一起,编译整个项目时Delphi会自动将pas编译为匹配的dcu文件,不需要单独手动编译 - 如果不想把pas文件直接加入项目,就打开
Tools->Environment Options->Library设置页,把你存放WIALib_TLB.pas的目录路径添加到Library Path列表中,保存设置后编译项目,IDE会自动搜索到该单元并编译生成dcu。
- 直接把
小提示:如果后续其他项目也要用到WIA库,直接把这个生成好的WIALib_TLB.pas存到固定的公共第三方库目录,把路径加到全局Library Path里,之后所有项目都能直接引用,不用重复导入。
内容的提问来源于stack exchange,提问作者Witness Protection ID 44583292
相关产品推荐
相关产品推荐

