2013-05-13 24 views
5

Delphi'de bir prosedürün ileriye dönük beyanını nasıl yapabilirim ve bunun başka bir yerde uygulanmasını nasıl sağlayabilirim? Bu C'nin kodu gibi ama Delphi bir şey yapmak istiyorum:delphi prosedürünün ileri bildirimi

void FooBar(); 

void FooBar() 
{ 
    // Do something 
} 
+2

Neden belgelerinizde ileriye dönük beyanda bulunmadınız? –

+1

@DavidHeffernan: Büyük olasılıkla, neyi arayacağını bilseydi, ona bakmak zorunda kalmayacaktı. Görünüşü, bir 'forward' anahtar kelimesi veya benzeri bir şey olmayan C ile olduğu anlaşılıyor. –

+2

@MasonWheeler Sorunun konusunu tekrar okuyun. Bunu Delphi doc aramasına yazın. Olan şey şu: http://docwiki.embarcadero.com/Search/?cx=0017879905796164350846%3Ad3x3zsyivu0&cof=FORID%3A9&ie=UTF-8&lr=lang_en&q=forward+declaration+of+procedure+in+delphi&sa=Go&siteurl=docwiki. embarcadero.com% 2FRADStudio% 2FXE4% 2Fen% 2FMain_Page & ref = docs.embarcadero.com% 2Fproducts% 2Frad_studio% 2F & ss = 160j25600j2 İnsanları belgeleri kullanmaya teşvik etmeliyiz. Cevabınız belgelere bir referans içermelidir. –

cevap

16

Sen forward yönergesi ile, şöyle bunu. (yani zaten ünitenizin implementation bölümünün içinde.) Bir sınıfın bir metodu olarak veya ünitenin interface bölümünde beyan edilen herhangi bir şey otomatik olarak ileri bildirilir.

+0

Teşekkürler, bu işe yaradı. – Seatless

5

İşte ünite arayüz/uygulama kısmından, bunu yapmanın bir yoludur.

Unit YourUnit; 

Interface 

    procedure FooBar(); // procedure declaration 


Implementation 

// Here you can reference the procedure FooBar() 

procedure FooBar(); 
begin 
    // Implement your procedure here 
end; 

Ayrıca @MasonWheeler cevap gibi başka bir seçenek, belirtilen belgelerle ilgili forward declarations içine bir göz atmalısınız. Dahili bir fonksiyonu olarak deklare eğer

procedure FooBar(); forward; 

... 
//later on 

procedure FooBar() 
begin 
    // Do something 
end; 

Bu yalnızca gereklidir: