Форум: "Прочее";
Текущий архив: 2006.05.28;
Скачать: [xml.tar.bz2];
ВнизКакие могут быть траблы? Найти похожие ветки
← →
Yanis © (2006-04-30 22:59) [0]Решил прочитать книгу Юрия Ревича "Нестандартные приёмы программирования на Delphi". Наткнулся на такой код:
var
pst: PChar;
......
pst := "Hello world!!!";
Application.MessageBox(pst, "Error", MB_OK);
и следующую за ним фразу: "В данном конкретном примере, возможно, всё будет нормально, но у автора бывали случаи когда подобная конструкция вызывала исключение ("Access violation...") ... ". Мне непонятно из-за чего здесь могут быть исключения?
← →
palva © (2006-04-30 23:09) [1]pst содержит мусор, (если она не глобальная) Попытка записи по адресу, который равен мусору, может вызвать исключение.
← →
Yanis © (2006-04-30 23:14) [2]Хм... С одной стороны автор гооворит, что переменная равна nil, но всё же могут быть и AV. Странно... Чуть ранее сказано:
"На самом деле все переменные в Delphi по умолчанию вроде бы и так инициализируются нулевыми значениями, но с идеологической точки зрения было бы категорически неправильно опустить этот момент...."
← →
geserx (2006-04-30 23:17) [3]Не зря ещё со времен Васика умные книжки всегда учили предварительно инициализировать переменные... и мы все это делаем. например, взять ту же сумму элементов массива=)))
s:=0;
// но ведь s объявлена, и вней ничё нет вроде как!!!
for i:=1 to....
← →
palva © (2006-04-30 23:19) [4]Если переменная глобальная то PChar инициализируется nil, но в этом случае AV случится обязательно.
Если переменная локальная, то она не инициализируется, если явно не проинициализирована программистом.
← →
Yanis © (2006-04-30 23:19) [5]Можно ли точно утверждать что локальные переменные всегда имеют "нулевое" значение?
← →
Yanis © (2006-04-30 23:20) [6]т.е глобальные?
← →
GeserX (2006-04-30 23:25) [7]Почитай вот лучше "Дельфи глазами хакера" и не *** людям мозгом ПЧаром и прочими=)
← →
Vendict © (2006-04-30 23:30) [8]Yanis © (30.04.06 23:19) [5]
Можно ли точно утверждать что локальные переменные всегда имеют "нулевое" значение?
Yanis © (30.04.06 23:20) [6]
т.е глобальные?
локальные всегда содержат мусор. а глобальные ДОЛЖНЫ иницилизоваться сами, но бережёного Бог бережёт. Лучше самому.
← →
Yanis © (2006-04-30 23:35) [9]Вообще то я всегда принудительно инициализирую переменные, неважно глобальные или локальные, но просто стало интересно. Всем спасибо.
P. S. Delphi глазами хакера отсавляю вам на растерзание :)
← →
McSimm © (2006-04-30 23:44) [10]Вообще не пойму о чем речь...
> pst := "Hello world!!!";
что это, если не инициализация переменной адресом строковой константы?
или вы полагаете, что содержимое константы будет копироваться по адресу, содержащемуся в данный момент в pst ?
← →
VirEx © (2006-04-30 23:49) [11]
> [7] GeserX (30.04.06 23:25)
> Почитай вот лучше "Дельфи глазами хакера" и не *** людям
> мозгом ПЧаром и прочими=)
гесер хэ, да ты просто хакер, если прочитал эту статью! вау! оказывается вот оно что - нужно всего-то зайти на хакер ру и почитать вумные статейки.
один ты просветлённый, а остальные на мастаках - ...?
"а мужики то не знают" (с)
← →
Юрий Зотов © (2006-05-01 00:02) [12]> Yanis © (30.04.06 23:19) [5]
Все глобальные переменные и все поля всех объектов по умолчанию инициализируются нулями.
"По умолчанию" - это значит, что у объекта можно перекрыть InitInstance, а переменной можно явно задать начальное значение. Тогда будет не по умолчанию, а так, как написано.
← →
palva © (2006-05-01 00:17) [13]> или вы полагаете, что содержимое константы будет копироваться по адресу
Ой, я в самом деле так полагал. Был неправ. Не будет здесь AV. В любом случае не будет.
← →
homm © (2006-05-01 00:23) [14]
> [11] VirEx © (30.04.06 23:49)
"Дельфи глазами хакера" это книга, так что ты не прав.
← →
Yanis © (2006-05-01 00:40) [15]
> "Дельфи глазами хакера" это книга, так что ты не прав.
Статьи и то грамотнее )
← →
VirEx © (2006-05-01 01:23) [16]
> [14] homm © (01.05.06 00:23)
>
> > [11] VirEx © (30.04.06 23:49)
>
> "Дельфи глазами хакера" это книга, так что ты не прав.
на моей памяти, три статьи с таким же названием видел
> [15] Yanis © (01.05.06 00:40)
>
> > "Дельфи глазами хакера" это книга, так что ты не прав.
>
> Статьи и то грамотнее )
угу)
← →
Yanis © (2006-05-01 01:32) [17]http://www.bhv.ru/img/news/photo.html
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2006.05.28;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.01 c