Ostrzezenie kompilatora

0

Mam taki problemik, utworzylem wlasna klase :
type
TJPEGRes = class(TJPEGImage)
public
procedure LoadFromResource(const ResID : PChar); virtual;
end;

... wszystko jest ok, ale kompilator wyrzuca takie ostrzezenie : "Unsafe type 'PChar'. W sumie wywala to wszedzie, gdzie uzywam PChar- co sie dzieje.... ???
Podobna sytuacja dotyczy gdy uzywam tej linijki : Shell_NotifyIcon(NIM_ADD,@IconNotifyData); - tym razem ostrzerzenie brzmi podobnie, tzn. "Unsafe code '@ operator'

POMOZCIE MI TO WYJASNIC...

0

Ostrzeżenia generowane przy włączonych opcjach generowania ostrzeżeń dot. niebezpiecznego kodu - pojawiło się w D7 niby ze względu na .NET. Za niebezpieczny kod uważa się przede wszystkim bezpośrednie operacje na pamięci, a więc używanie wskaźników (PChar) czy operator pobrania adresu (@), a także (chyba :) ) niebezpieczne rzutowanie (np. na PChar).

0

super, ale jak sie tego pozbyc...

0

Na pewno można wyłączyć te ostrzezenia - spróbuj poszukać na google jak je wyłączyć.. może zwykłe WARNINGS OFF .. nie wiem bo nie mam D7.

0

Można tak, ale to wyłączy wszystkie ostrzeżenia w kodzie będącym w zasięgu tej dyrektywy, a tego byśmie przecież nie chcieli :) Po co właściwie masz włączone generowanie tych ostrzeżeń, skoro nie chcesz ich widzieć? A żeby je wyłączyć zajrzyj do Project -> Options -> Compiler Messages -> Warnings i odznacz opcje Unsafe type, Unsafe code oraz Unsafe typecast.

1 użytkowników online, w tym zalogowanych: 0, gości: 1