2012-09-27 62 views
-1

我需要将此行从C转换为Delphi。将C代码转换为Delphi

Int CALLBACK EXPORT EXAMPLEFUNCTION(VOID){ 
    SETEVENT(hasync); 
    Return Success; 
} 

请给我一些帮助。

感谢;)猜测这里的

+0

有很多自动* .h到pascal转换器。只需将定义与实施分开;这里的实现是微不足道的。 –

+0

@ Arioch'所有这些.h到Pascal转换器的问题是,它们只是转换单个.h,而不解析包含和宏。所以很多转换最终都是纯粹的老手工,并且有很多有教养的猜测。 –

回答

3

类,因为风格是非常的混乱,但我认为这将翻译是这样的:

const Success = 1; //or whatever; might not be 1. 
        //assume a const definition for a value 
        //called Success exists somewhere in scope 

function EXAMPLEFUNCTION(): integer; stdcall; //CALLBACK = stdcall calling convention 
begin 
    SETEVENT(hasync); //hopefully this makes sense in context 
    result := Success; 
end; 

这还没有进一步的方面,我能做到的最好。 EXPORT声明是一个预处理器宏,它(可能)意味着它是DLL的一部分,并且这是一个应该由加载该DLL的程序调用的函数。在Delphi中,这不是函数定义的一部分;相反,你把它放在出口条款。

+0

谢谢这是一个好主意。 –