DELPHI头文件顺序

本文探讨了DELPHI中头文件加载顺序导致的函数名冲突问题,并提供了两种解决方案:调整头文件引入顺序和使用前缀区分同名函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DELPHI 头文件的加载貌似是覆盖式的

比如一个函数在文件里有:

 

Unit: SysUtils

Delphi syntax:

procedure FindClose(var F: TSearchRec);

 

 

在另一个文件里也有

WINDOWS

 

BOOL FindClose(

 HANDLE hFindFile // file search handle 

   );

 

如果你的头文件顺序是:SysUtils, Windows 

那么如果你是想调用procedure FindClose(var F: TSearchRec);的话

会出现error,说你的类型不符

其实你是调用了BOOL FindClose(HANDLE hFindFile);

 

这时候你应该把文件反过来写:Windows ,SysUtils

当然,最好的方法是加个前缀啦:SysUtils.FindClose(SearchRec);

 

This Zip File includes the latest version of Bob Swart‘s (aka Dr. Bob) Header Converter Utility whose purpose is to translate C header files into Delphi interface units. In an earlier release, Dr. Bob described the tool in these words: "HeadConv v4.20 is capable of generating implicit and explicit Delphi import units (16/32-bit compatible) for C DLL header files. Please note that HeadConv is not perfect (it will fail on complex structures) and on average "only" has a 85-90% correct conversion rate - there‘s always some handwork required before and after converting the header files - see also my article on Using C DLLs with Delphi at http://www.drbob42.com/delphi/headconv.htm." Several years ago Dr. Bob donated this utility to Project JEDI to aid in its header translations. Some time later Alan C. Moore, a member of Project JEDI, began the process of re-factoring the source code to improve its readability in preparation for its official release to Project JEDI. These files are the culmination of that process. Folders and Files Readme.txt this file Samples/Sample.h Sample header file to test translations Source/Headconv.dpr Main Delphi project file for building utility Source/Headpars.pas Main parsing unit for converting header files Source/Headutil.pas Utility functions used in Headpars.pas Source/Headvars.pas Global variables used in other units. Because of technical limitations we are unable to include the executable that accomplishes header translations, Bin/HeadConv.exe. This file will continue to be available at Dr. Bob‘s Website in the "tools" section at http://www.drbob42.com/tools/index.htm.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值