![]() |
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]() ![]() ![]() |
|
Poseidon |
|
||||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 9 Всего: 133 |
Блин. почему мне с такой случайностью не везет в лотерее?
Хотя я еще раз повторюсь, что это все не правильно -------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
||||
|
|||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 18 Всего: 88 |
Poseidon, не надо блинов.
с каких пор -1 это "значение по умолчанию для указанного типа"? это мусор со стека (окей, компилятор может выкинуть переменную на стеке и заменить регистром, но сути дела это не меняет). И другим он будет если переменная Result будет попадать на другое место на стеке, или то же место будет содержать другой мусор. Нет причин ожидать там мифическое "значение по умолчанию" у меня твой пример показывает не -1 а 0, а если поменять вызовы ShowMessage местами то 3211600 для автоматических типов компилятор следит за значениями по умолчанию переменной Result. Это необходимо потому что если вместо строки туда попадет мусор со стека, то ты уже не сможешь присвоить туда что-то своё (потому что для этого нужно уменьшить счетчик ссылок на старую строку, а она - мусор). но при этом не гарантируется что там пустая строка. гарантируется только что там корректное строковое значение. Но какое именно - опять случайность. Модифицируй свой пример, и посмотри что получится
-------------------- Обижено школьников: 8 |
|||
|
||||
БелАмор |
|
||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 209 Регистрация: 10.6.2010 Где: Россия Репутация: 7 Всего: 17 |
А у меня вот этот код:
Всегда выдаёт:
Причём, что самое смешное, это - документированное поведение. На всякий случай повторю ссылку: http://delphikingdom.com/asp/viewitem.asp?catalogid=1435 Но использовать такие особенности - это уже даже не г-код... И рассчитывать, что кто-то, кто будет просматривать такой код потом, разберётся в таких фортелях, крайне недальновидно... Это сообщение отредактировал(а) БелАмор - 16.9.2012, 11:36 |
||||||
|
|||||||
БелАмор |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 209 Регистрация: 10.6.2010 Где: Россия Репутация: 7 Всего: 17 |
Хотел написать так:
Но результат одинаков, не стал исправлять. Если кто пойдёт по ссылке - там внизу ещё ссылка на обсуждение. |
||||
|
|||||
БелАмор |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 209 Регистрация: 10.6.2010 Где: Россия Репутация: 7 Всего: 17 |
Что-то я прозевал сообщение от bems и практически повторил приведённый им код...
|
|||
|
||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 18 Всего: 88 |
-------------------- Обижено школьников: 8 |
|||
|
||||
БелАмор |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 209 Регистрация: 10.6.2010 Где: Россия Репутация: 7 Всего: 17 |
||||
|
||||
bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 18 Всего: 88 |
да, не обратил, извиняюсь
-------------------- Обижено школьников: 8 |
|||
|
||||
northener |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1361 Регистрация: 2.9.2010 Репутация: 12 Всего: 20 |
Хороший вопрос! Ответ может быть только один. Никогда не играйте ни в какую лотерею! Помните, что выигрыш всегда гарантирован только устроителям сей лотереи. А всем прочим (в массе своей) гарантирован проигрыш! ![]() А по сути вопроса автора согласен с высказываниями БелАмор от 15.9.2012, 16:35 P.S. Простите. До сих пор не научился давать в своём ответе ссылку на конкретный ответ в теме/ветке. Если кто может что подсказать, то прошу сообщить в личку. Это сообщение отредактировал(а) northener - 17.9.2012, 00:56 -------------------- Но только лошади летают вдохновенно. Иначе лошади разбились бы мгновенно! |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |