Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.07.25;
Скачать: CL | DM;

Вниз

Что за сообщение?   Найти похожие ветки 

 
Vudu   (2005-07-08 17:38) [0]

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


 
Просто Джо ©   (2005-07-08 17:44) [1]

Что-то я очень сомневаюсь, что Делфи 6 выдает сообщение об unsafe code...
А смысл сообщения таков:
нечего в процедуру в качестве var параметра передавать индекс цикла. Потому что внутри этой процедуры ты можешь изменить его. А это есть очень и очень не гуд.
П.С. У меня на Делфи 6 такой код вообще не скомпилится:

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

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


 
Просто Джо ©   (2005-07-08 17:47) [2]

.
>  [1] Просто Джо ©   (08.07.05 17:44)

Поспешил. Невнимательно прочитал вопрос. Но, тем не менее, по поводу версии Делфи ты наверняка привел неверную информацию


 
Игорь Шевченко ©   (2005-07-08 17:50) [3]

При запуске сообщения выдает сам проект


 
Vudu   (2005-07-08 18:47) [4]

А ну да не 6 а 7, слегка ошибся.
сообщение выходит в нижнем дополнительном окошке build, на работу программы невлияет
( shifr[i] это строка ) на цикл она невлияет


 
begin...end ©   (2005-07-08 18:57) [5]

> Vudu   (08.07.05 17:38)

> вредно ли это?

Вряд ли. Отключить можно в настройках проекта: Project -> Options -> Compiler Messages -> Warnings -> Unsafe code.

> shifr[i]:=chr(ord(shifr[i])+77)

Можно проще (хотя и с тем же warning"ом): Inc(shifr[i], 77).


 
Vudu   (2005-07-09 00:19) [6]

Я все время забываю про эту процедуру, да и привык уже



Страницы: 1 вся ветка

Текущий архив: 2005.07.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.053 c
14-1120044792
Магнум
2005-06-29 15:33
2005.07.25
Выход в Инет через Pocket PC


14-1120113177
Ega23
2005-06-30 10:32
2005.07.25
С днем рождения! 30 июня


4-1117453733
chili
2005-05-30 15:48
2005.07.25
как можно отследить появление нового процесса в системе?


1-1120664264
Igor_thief
2005-07-06 19:37
2005.07.25
Как из строкового 19,10 перевести в вещественное 19, 10 без ...


3-1118767516
xroot
2005-06-14 20:45
2005.07.25
Цвет строки