Dyrektywy ostrzegawcze
Adam Boduch
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.
"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 ;)
Racja, usunelem informacje.