Що за повідомлення

Що за повідомлення?

Delphi видає таке повідомлення під час запуску проекту що воно означає і шкідливо це?
Unsafe code "String index to var param"
приблизно в такому місці
# XA0; for i: = 1 to Length (shifr) do
# XA0; begin
# XA0; # XA0; shifr [i]: = chr (ord (shifr [i]) + 77);
# XA0; end;
роблю невелике шифрування для збереження в файл

Щось я дуже сумніваюся, що Делфі 6 видає повідомлення про unsafe code.
А сенс повідомлення такий:
нічого в процедуру як var параметра передавати індекс циклу. Тому що всередині цієї процедури ти можеш змінити його. А це є дуже і дуже не гуд.
П.С. У мене на Делфі 6 такий код взагалі не скомпілітся:

procedure X (var Param: Integer);
begin
end;

procedure TForm1.Button1Click (Sender: TObject);
var
# XA0; I: Integer;
begin
# XA0; for I: = 0 to 10 do
# XA0; # XA0; X (I)
end;

При запуску повідомлення видає сам проект

А ну да не 6 а 7, злегка помилився.
повідомлення виходить в нижньому додатковому віконці build, на роботу програми не впливає
(Shifr [i] це рядок) на цикл вона не впливає

> Vudu # XA0; (08.07.05 17:38)

> Шкідливо це?

Навряд чи. Відключити можна в налаштуваннях проекту: Project -> Options -> Compiler Messages -> Warnings -> Unsafe code.

Можна простіше (хоча і з тим же warning "ом): Inc (shifr [i], 77).

Я весь час забуваю про цю процедуру, та й звик уже

Схожі статті