2012-09-27 28 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

謝謝這是一個好主意。 –