Форум: "Потрепаться";
Текущий архив: 2004.08.22;
Скачать: [xml.tar.bz2];
ВнизDelphi + Lamer = ? Найти похожие ветки
← →
Sergey_Masloff (2004-08-04 12:38) [120]Kurtevich (04.08.04 12:27) [112]
не нравится мне эта ветка но влезу
>на самом деле имелось ввиду, так как при вызове метода обьекта >ему все равно передается Self,
Да какое отношение Self имеет к переменной ссылающейся на объект? То что в этой переменной записано значение Self? Как ты ее будешь искать? Зная переменную ты знаешь Self но никак не наоборот...
← →
Danilka © (2004-08-04 12:43) [121][99] Kurtevich (04.08.04 11:27)
> а) почему дельфи со всеми ее наворотами и доведенным до
> безумия желании максимально облегчить жизнь пользователя...
> ой, простите, разработчика!.. такого не делает?
Например, по-этому:
var
x, y: kSocket;
begin
x := kSocket.Create;
y := x;
x.free;
y.free;
end;
угадай с трех раз, вылетит ли исключение на y.free или нет?
А вообще, может это просто разводка? Ну, развлекает народ один клоун, помню как в прошлом году Е-мое имя развлекал под ником Profi2000, доравлекался до того, что этот профи2к свой сайт закрыл, а до него еще суприм, помница был..
← →
Мастер © (2004-08-04 13:05) [122]>Danilka © (04.08.04 12:43) [121]
А вообще, может это просто разводка?
А как ты догадался?
По-моему, уже давно всем ясно, да и автор не отказывается насчет разводки.
← →
Юрий Зотов © (2004-08-04 13:08) [123]Читаю и вижу:
===============================================
> Игорь Шевченко © (04.08.04 12:30) [113]
>> так как при вызове метода обьекта ему все равно передается
>> Self
> В регистре
===============================================
> Kurtevich (04.08.04 12:32) [116]
>> Игорь Шевченко © (04.08.04 12:30) [113]
> ну и?...
===============================================
Ув. г-н Kurtevich!
Это Ваше "ну и" (как и ряд других Ваших высказываний) самым красноречивым образом свидетельствует о том, что Вы, извините, не знаете даже АЗОВ программирования. На ЛЮБОМ языке.
Возможно, Вы являетесь специалистом в какой-то другой области - но уж точно не в программировании. Поэтому не следовало бы Вам спорить о том, чего Вы не понимаете. Рано.
← →
Anatoly Podgoretsky © (2004-08-04 13:16) [124]Kurtevich (04.08.04 12:31) [114]
напишите мне пожалуйста кто нибудь по пунктам, что я такого сказал?
А ты сам не в состоянии перечитать ветку и другие где ты участвовал. Впрочем как смысл ты же все равно не поверишь.
← →
Гаврила © (2004-08-04 13:21) [125]>>угадай с трех раз, вылетит ли исключение на y.free или нет?
Будешь смеяться, но не вылетит :-)
> Kurtevich
Ты тот мой пост про несколько указателей не понял
← →
Digitman © (2004-08-04 13:26) [126]
> Гаврила © (04.08.04 13:21) [125]
> Будешь смеяться, но не вылетит
вылетит или не вылетит - сильно зависит от множества факторов
например, от IsMultiThread и всего что на этот флаг завязано в мультипоточном приложении
← →
Danilka © (2004-08-04 13:29) [127][125] Гаврила © (04.08.04 13:21)
Почему?
Вот небольшой пример:
procedure TForm1.Button1Click(Sender: TObject);
var
x, y: TObject;
begin
x := TObject.Create;
y := x;
FreeAndNil(x);
y.free;
end;
"x", как и хочется автору содержит nil, но, "y" все равно не nil, объект уже уничтожен, поэтому и получаем ошибку.
← →
Sergey Kaminski © (2004-08-04 13:39) [128]Ух! Вылезла старай тема... У МЕНЯ В ЦИКЛЕ ВЫЛЕТАЕТ ТОЛЬКО НА 756 ВАРИАНТЕ!!!
8)
← →
GRAND25 © (2004-08-04 14:24) [129]Удалено модератором
Примечание: Личная переписка
← →
Гаврила © (2004-08-04 14:34) [130]>>Danilka © (04.08.04 13:29) [127]
тут дело не в этом, не в nil
см. Digitman © (04.08.04 13:26) [126]
в случае однопоточного приложения не вылетит
← →
Danilka © (2004-08-04 15:01) [131][130] Гаврила © (04.08.04 14:34)
Может-быть я что-то не понял?
Давай по-порядку.
Как я понял, автору не нравицца, что после x.free x не присваивается nil.
Но, на самом деле может быть сколько угодно указателей на сам объект помимо x, в моем примере y, которые все равно будут указывать туда, куда и указывали даже после того как x присвоили nil, и если объект уже уничтожен с помощью x.free, то y.free приведет к исключению, разве не так? Та процедура Button1Click которую я привел в [127] у меня вызывает исключение на строке: y.free
Просто создал новый проект, кинул на форму кнопку, вышеприведенный код - обработчик клика этой кнопки, исключение вызывается. Что не так?
← →
Danilka © (2004-08-04 15:06) [132]Честно говоря, я с многопоточными приложениями всерьез дел не имел, а не всерьез имел очень давно. Но пустой проект, который открывается при запуске дельфи разве не однопоточное приложение? Тем не менее - вылетает. :)
← →
noname_ (2004-08-04 15:07) [133]> Danilka © (04.08.04 15:01) [131]
> если объект уже уничтожен с помощью x.free, то y.free приведет к исключению, разве не так?
IMHO не обязательно, результат действий с повисшей ссылкой не определен.
← →
Гаврила © (2004-08-04 15:08) [134]
> и если объект уже уничтожен с помощью x.free, то y.free
> приведет к исключению, разве не так?
Может привести к исключению, а может и нет
var
X: Tobject;
I: Integer;
begin
x:=TObject.Create;
for I:=1 to 10 do
X.Free;
end;
Не приводит к исключению. вообще, это зависит от многих раскладов, грубо говоря "занята ли та память уже кем-то другим"
← →
Anatoly Podgoretsky © (2004-08-04 15:10) [135]Поэтому может быть любая ошибка, включая ее отсутсвие. Но все это не предсказуемо.
← →
Danilka © (2004-08-04 15:19) [136]понятно
← →
wicked © (2004-08-04 15:48) [137]хых... единственное, что я понял - что автор ну явно ленится продумывать свои алгоритмы и поэтому ищет способ борьбы с битыми ссылками, хотя проблема то совсем не там.... ;)
> kirasuki [63]
вы уж извините, но подобного бреда о билдере - поискать еще... вы уж не поленитесь и поработаете на нём хотя бы месяц-два, прежде чем писать подобную чушь об ошибках и STL....
поэтому - LMD...
ах да, в мире существет и много других компиляторов и сред разработки, помимо делфи, билдера и msvc...
← →
имя (2004-08-05 11:46) [138]Удалено модератором
← →
гкчп (2004-08-05 11:56) [139]чуется, Куртевичу изрядно потрепали парадный прикид и он переоделся в рубище, надеясь не быть узнанным
← →
Игорь Шевченко © (2004-08-05 11:58) [140]
> То есть полнейший ламер эффективно программит на Дельфи!
> (?)
Очень я в этом сомневаюсь.
ЗЫ: Не стоит выступать под разными никами
← →
Kurtevich (2004-08-05 12:50) [141]Вот именно для того, чтобы не видеть надписи "удалено модератором" я и забыл переключить раскладку когда писал имя. Не прокатило. А жаль, в прошлый раз то же самое имя прошло. Правда тогда и топик был для вас не такой обидный.
Тем не менее факт остается фактом: я согласен на 100% что я ламер, не знающий ни что такое регистры, ни что такое указатели, и при этом имеет место несомненный факт, что написанные мною проги на дельфи работают нормально и так как надо. А то, что кто-то в этом сомневается, ничего не меняет - я, например, сомневаюсь что планет в солнечной системе только 9, но мое сомнение - не факт. А факт в том, что для того, чтобы программить на Дельфи, совсем не нужно быть таким гениальным, какими вы претендуете быть. Это не оскорбление Дельфи, но и не комплимент ей.
← →
Sandman25 © (2004-08-05 12:52) [142][141] Kurtevich (05.08.04 12:50)
Планет в солнечной системе 10, недавно еще одну открыли :)
← →
Думкин © (2004-08-05 12:53) [143]> [141] Kurtevich (05.08.04 12:50)
А может таки комплимент?
← →
Anatoly Podgoretsky © (2004-08-05 12:57) [144]Kurtevich (05.08.04 12:50) [141]
Позволь не поверить, это случайно не ты жаловался на AV
← →
Игорь Шевченко © (2004-08-05 12:58) [145]
> А факт в том, что для того, чтобы программить на Дельфи,
> совсем не нужно быть таким гениальным, какими вы претендуете
> быть. Это не оскорбление Дельфи, но и не комплимент ей.
Между прочим, эта фраза относится к любому языку, а не только к Delphi.
← →
Kurtevich (2004-08-05 13:06) [146]
> Sandman25 © (05.08.04 12:52) [142]
Серьезно? я это как-то пропустил... И какую они открыли - ту, которая близко к солнцу, или ту, которая за плутоном? И как ее назвали? хотя я понимаю, что это наверно шутка - если б на самом деле открыли еще одну планету, то шуму было бы побольше чем с высадкой марсохода на Марс... намного больше.
> Anatoly Podgoretsky © (05.08.04 12:57) [144]
ну я ж не жаловался, что AV возникает непонятно откуда, и, блин, "чё делать, у меня прога не работает!" - я как раз прекрасно понимаю откуда оно в данном случае берется и как его избегать... блин, что я несу?! - я ж даже не знаю что такое AV!!! %-(
← →
Anatoly Podgoretsky © (2004-08-05 13:07) [147]И действительно, что ты несешь :-)
← →
Думкин © (2004-08-05 13:07) [148]> [146] Kurtevich (05.08.04 13:06)
http://hitech.compulenta.ru/2004/3/15/45697/
← →
Kurtevich (2004-08-05 13:09) [149]
> Думкин © (05.08.04 12:53) [143]
Кстати, интересный философский вопрос! Правильно ли позволять людям делать то, для чего они явно не годятся? - и это относится не только к Дельфи. Как писал один автор - не стоит, может, всем подряд позволять учиться читать (цитата, конечно, очень приблизительная). Может это на самом деле плохо, что такой ламер как я свободно юзает винду через дельфи в разных позах? А может и хорошо... кто знает?..
← →
Думкин © (2004-08-05 13:12) [150]> [149] Kurtevich (05.08.04 13:09)
Если ты не пишешеь супер-пупер вирусы и прочий кул, если не пистаешь с глупостями, если с пеной у рта не доказываешь что одно лучше другого ибо кул - какие проблемы? Юзай как тебе влезет.
← →
Kurtevich (2004-08-05 13:15) [151]
> Думкин © (05.08.04 13:07) [148]
Вот эа это спасибо! Неудивительно, что я это пропустил - я в то время был вдали от цивилизации...
Странно, что они ее назвали Седна - нарушили традицию использования римской мифологии! в астрологии эта планета называется Апполон... может быть, со временем, ее таки переименуют правильно!..
Нашему обществу понадобится еще лет 50, чтобы окончательно поверить в то, что эта планета существует, несмотря на то, что ее таки открыли! :)
← →
}|{yk © (2004-08-05 13:22) [152]Кстати, я слышал, что 10 планету планировали назвать в честь инкского божества под названием Juy (читается по испански - и не надо меня резать), так что можно сказать что в Солнечно системе планет до *** и больше :)
← →
Digitman © (2004-08-05 13:23) [153]Куртевич, ты уподобился водителю кобылы, волей случая или необходимости оказавшемуся в кабине водителя трамвая, где с пеной у рта стал доказывать, что, мол, конечно, трамвай это хорошо и что ты, мол, сам трамвай успешно водил пару раз, но что, мол, кобыла все равно лучше, потому что у трамвай подкован как положено и трамваю в отличие от кобылы нужны рельсы
← →
Kurtevich (2004-08-05 13:34) [154]
> Куртевич, ты уподобился водителю кобылы, волей случая или
> необходимости оказавшемуся в кабине водителя трамвая, где
> с пеной у рта стал доказывать, что, мол, конечно, трамвай
> это хорошо и что ты, мол, сам трамвай успешно водил пару
> раз, но что, мол, кобыла все равно лучше, потому что у трамвай
> подкован как положено и трамваю в отличие от кобылы нужны
> рельсы
что это за бред? имеется в виду, что трамвай - это Дельфи, а кобыла... наверно С++?...
в любом случае, хватит уже - достало оно всё! я давно согласился с тем, что я ламер, и права на вождение трамвая мне никто не выдавал, да и не нужны они мне... чего тебе еще надо?
← →
Мастер © (2004-08-05 13:39) [155]>Kurtevich (05.08.04 13:34) [154]
Да ладно тебе, сам напросился( к тому же и не отказываешься от этого).
Посто здесь всем воинствующим присваивают звание LMD.
Но ты пока не дорос до этого высокого звания;)
← →
Юрий Зотов © (2004-08-05 14:01) [156]> Kurtevich (05.08.04 12:50) [141]
> А факт в том, что для того, чтобы программить на Дельфи,
> совсем не нужно быть таким гениальным, какими вы претендуете
> быть.
В этой фразе Вы пропустили всего 2 слова: "Hello, world!". Чтобы быть правильной, она должна была бы звучать примерно так:
"А факт в том, что для того, чтобы программить на Дельфи "Hello, world!", совсем не нужно..." (далее по тексту).
По большому секрету открою Вам страшную тайну: чтобы программить на уровне "Hello, world!" на ЛЮБОМ языке, тоже не требуется быть гениальным. И негениальным быть тоже не требуется. Для этого вполне достаточно знаний и интеллекта на уровне чуть выше табуретки, причем независимо от используемых средств. Уж во всяком случае, знать о существовании регистров вовсе не обязательно.
Так что, раз работает "Hello, world!", то нет ничего удивительного в том, что и Ваши программы работают тоже. Как нет ничего удивительного и в том, что Вы свято верите, будто ВСЕ программы имеют примерно такой же уровень сложности, как и Ваши. Это естественно - ведь никаких других Вы просто не писали, а потому и не можете понять, что они все же существуют. Ну, примерно, как экваториальный африканец из племени мумбо-юмбо вряд ли поверит в существование льдов и белых медведей, сколько ему о них ни рассказывай.
А медведи (т.е. программы) эти, тем не менее, существуют. На Delphi, чтоб Вы знали, можно написать практически все то же, самое, что и на Си (причем примерно того же размера) - в частности, на Delphi пишут и полноценные системные сервисы, и даже VXD. Но вот только для того, чтобы написать что-то посложнее, чем "Hello, world!", о регистрах нужно ну хотя бы что-то слышать. Причем тоже независимо от используемых средств. Надо просто уметь ПРОГРАММИРОВАТЬ, понимаете?
Ибо то, что человек сумел завести мотор и тронуть машину с места, еще не делает его водителем. А то, что, человек написал несколько программ уровня "Hello, world!" еще не делает его программистом.
← →
Игорь Шевченко © (2004-08-05 14:08) [157]Юрий Зотов © (05.08.04 14:01) [156]
> в частности, на Delphi пишут и полноценные системные сервисы,
> и даже VXD.
VXD не пишут, насколько мне известно - не получится в принципе.
← →
Юрий Зотов © (2004-08-05 14:13) [158]> Игорь Шевченко © (05.08.04 14:08) [157]
http://infocity.kiev.ua/prog/delphi/content/delphi004.phtml?id=571
← →
Kurtevich (2004-08-05 14:54) [159]
> Юрий Зотов © (05.08.04 14:01) [156]
Что можно сказать об уме человека, который (причем уже не в первый раз) с такой уверенностью говорит о том, о чем понятия не имеет? Ну откуда вы можете знать, какие именно я программы пишу? почему "несколько" - может быть их одна, а может 1000? вы ничего этого не знаете, но тем не менее рассуждаете так, как будто знаете меня и все, что я делаю, лично!
Конечно, логический вывод "мы с ним не понимаем друг друга -> значит он не дурак -> значит ни на что, кроме hello, world он не способен -> значит, все бабы - ..." может сделать каждый, и на самом деле очень грустно, что с подобными выводами именно здесь, в среде людей интеллектуального труда, приходится сталкиваться.
З.Ы. Как расшифровывается LMD?
← →
Игорь Шевченко © (2004-08-05 14:56) [160]Юрий Зотов © (05.08.04 14:13) [158]
Юра, эту статью раскритиковали уже все, кто может. VxD там на ассемблере написан :)
С уважением,
Страницы: 1 2 3 4 5 вся ветка
Форум: "Потрепаться";
Текущий архив: 2004.08.22;
Скачать: [xml.tar.bz2];
Память: 0.83 MB
Время: 0.047 c