2009-07-13 4 views
0

그것은 예를 들어 형 idenitifier을 만들 수있다 :델파이에서 타입 메소드를 생성 할 수 있습니까?

type PByte = ^Byte; 

는 다음을 수행 할 수 있습니다 :

function a:shortint; 
begin 
    Exit(8); 
end; 

type b = a; 

그래서 당신이 "B"와 "A"를 호출 할 수 있습니다. 가능한가?

나는 "반환"과 "종료"를 교체하고 싶습니다 때문에 내가 부탁 해요 그래서이를 호출 할 수 있습니다 : 그것은 당신이 기능의 종류와 정의를 혼동 날 것으로 보인다

return(5);// for example 
+3

종료는 컴파일러의 키워드입니다. 왜 돌아가려면 그것을 바꾸고 싶습니까? –

+1

토비아스 (Tobias)는 새로운 C 프로그래머들에게 자주 발생합니다. 그들은'begin'을 여는 중괄호 (opening brace)로 정의하는 것과 같이 C 언어를 이전 언어처럼 보이게 만드는 매크로 라이브러리를 작성하려고합니다. John이 물어 본 질문에 그는 C#을 배우기 때문에 아마도 좀 더 비슷하게 보이도록하려고 시도했을 것입니다. –

답변

7

. 메소드와 함수의 유형을 생성 할 수 있으며, 사용자 컨트롤을 사용하는 대부분의 작업에서 호출되는 메소드 유형 인 TNotifyEvent와 같이 델파이에서 매일 사용합니다. 이러한 유형을 사용하면 특정 헤더 (예 : 예상 매개 변수 및 반환 값)에 해당하는 함수를 정의 할 수 있습니다.

전체적인 다른 문제는 함수 포인터입니다. 함수의 특정 인스턴스에 대한 포인터로 포인터를 "호출"할 수 있고 함수를 호출 할 수 있습니다. 포인터는 위에서 설명한대로 특정 유형의 함수일 수 있지만 두 가지 문제는 실질적으로 서로 관련이 없습니다.

제 3의 완전히 관련이없는 것은 기능의 호출 스택입니다. Tobias가 언급 한 Exit는 컴파일러 지시문이며 함수 자체가 아닙니다.

결론적으로 모든 실제 목적을 위해 달성하고자하는 것은 옳지 않으며 불가능합니다. 델파이를 그런 식으로 받아들이는 일에 "속임수"를 치를 수는 있겠지만, 그것은 잘못된 IMHO 일 것입니다.

1

적어도 Delphi 2009를 사용해야합니다. 새로운 Exit (Result) 구문이 있습니다.

이전 버전의 Delphi 버전을 계속 사용하려면 this을 확인해야합니다. Exit (Result)에 대한 준비 기능은 없지만 플러그인을 사용하여 구현하는 것은 매우 쉽습니다.

+1

그는 이미 'Exit'에 대한 새로운 구문을 시연하고 있습니다. 그것은 그것이 요구하는 것이 아닙니다. 그는 더 이상 '출구'라고 부르지 않는 길을 요구하고 있습니다. –

+0

사실, 나는 이것을 놓쳤습니다. 그러나이 경우에도 그는 DLangExtensions를 사용할 수 있습니다. – Alex

관련 문제