Programowanie w języku Delphi

Dyrektywy ostrzegawcze

  • 2010-10-31 18:27
  • 2 komentarze
  • 1743 odsłony
  • Oceń ten tekst jako pierwszy
Dyrektywy ostrzegawcze umożliwiają opatrzenie danego elementu programu (Procedury, funkcji, modułu specjalnym oznaczeniem, dzięki któremu kompilator w trakcie kompilacji wyświetli odpowiednie ostrzeżenie.  

Dyrektywy platform, deprecated i experimental przydają się szczególnie w trakcie prac zespołowych nad jednym projektem. Przykładowo, można oznaczyć moduł klauzulą experimental, dzięki czemu w oknie komunikatów błędu wyświetlony zostanie napis: [Warning] Project3.dpr(8): Unit 'Unit1' is experimental. Stąd będzie wiadomo, że dany moduł jest w fazie testów (eksperymentów).

Klauzulami ostrzegawczymi można oznaczać różne elementy języka Delphi: moduły, typy, procedury. Na przykład:

unit Unit1 experimental;


W takim przypadku moduł Unit1 jest oznaczony jako eksperymentalny. Proszę, zwróćmy uwagę na to, iż pomiędzy nazwą modułu a dyrektywą nie występuje średnik!

Ta zasada nie obowiązuje jednak w przypadku oznaczania procedur bądź funkcji:

program Example;
 
procedure SomeProc; deprecated;
begin
 
end;
 
begin
  SomeProc;
end.


Tutaj pomiędzy nazwą procedury a klauzulą należy umieścić średnik!

Dyrektywa deprecated oznacza, iż dany symbol (procedura, moduł) został uznany za niedoskonały (przestarzały) i został zachowany jedynie ze względów kompatybilności. Nie gwarantuje się wobec tego poprawnego działania tego elementu w przyszłych wersjach aplikacji. Należy stosować klauzulę deprecated w razie uznania, że dana procedura bądź typ danych są przestarzałe i należy je zastąpić innymi, nowszymi rozwiązaniami.

Klauzula platform jest ściśle związana z platformą .NET Framework. W Delphi wiele modułów, takich jak Windows czy Messages jest oznaczonych dyrektywą platform z tego względu, iż nie są one związane z .NET, a jedynie ściśle z Delphi. Nie są one więc wykorzystywane w innych platformach (urządzeniach), w których może być uruchamiany .NET, np. w palmtopach.

Nic nie stoi na przeszkodzie, aby jeden element oznaczyć naraz wieloma dyrektywami:

procedure SomeProc; deprecated; platform;
begin
 
end;


Jeżeli wyświetlanie komunikatów ostrzegawczych jest z jakichś względów niewskazane, można je wyłączyć, stosując specyficzny symbol:

program Example;
 
{$WARNINGS OFF}


Dyrektywa kompilatora {$WARNING OFF} wyłącza wyświetlanie ostrzeżeń w programie.

2 komentarze

bidok 2006-01-16 10:15

"Ten element języka programowania dotyczy jedynie wersji Delphi dla .NET"

dziwne bo platform i deprecated dzialaja ladnie pod d7 personal jedynie przy experimental delphi oznajmia ze nie ma pojecia ocoloto ;)

Adam Boduch 2006-01-16 10:19

Racja, usunelem informacje.