Що за повідомлення?
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).
Я весь час забуваю про цю процедуру, та й звик уже