Текущий архив: 2008.04.13;
Скачать: CL | DM;
Вниз
Ненавижу TurboD2006! Найти похожие ветки
← →
Игорь Шевченко © (2008-02-27 23:40) [80]Loginov Dmitry © (27.02.08 22:40) [78]
> к сожаленью нету ;(
Что-то мешает сделать ?
← →
Loginov Dmitry © (2008-02-27 23:42) [81]> Что-то мешает сделать ?
Нафиг делать-то? Когда имеющиеся глюки знаешь, проще их обойти, чем заново сделать (свои новые глюки) :)
← →
korneley © (2008-02-27 23:58) [82]
> ...Когда имеющиеся глюки знаешь, проще их обойти, чем...
Задокументированный глюк - не глюк, а фича! Настаиваю...
← →
Игорь Шевченко © (2008-02-27 23:59) [83]Loginov Dmitry © (27.02.08 23:42) [81]
Делают обычно затем, чтобы другие не мучились. Впрочем, с VCL не мучается вполне достаточное количество народа, чтобы и впрямь не делать какие-то альтернативы.
← →
Marser © (2008-02-28 00:02) [84]
>
> На самом деле там полно всякого бреда понапихано, и с этим
> во многом связано то, что TThread.Free, вызванный из основного
> потока может приводить к зависанию этого самого основного
> потока (на WaitFor виснет) (особенно задолбались в этой
> фигнею на TurboDelphi2006 - просто проклятье какое-то).
> В D2007 тоже самое, просто TThread.Free уже не пользуемся,
> надоело наступать на эти грабли ))
Фигня какая-то :-)
Вот на потоки не жалуюсь, не грохается. Может hands.vxd корректно проинсталлен? :-)
>
> к сожаленью нету ;(
Настоящий индеец юзает CreateThread, водЪ.
← →
Loginov Dmitry © (2008-02-28 00:08) [85]> Вот на потоки не жалуюсь, не грохается.
Кстати, насколько помню, к зависанию на TurdoD2006 приводит такой вот код:
procedure TMyThread.Execute;
begin
while not Terminated do Sleep(1000);
end;
Создавался поток так:
MyThread := TMyThread.Create(False);
Уничтожался так:
MyThread.Free
И зависание на Free происходило стабильно. Тот же самый код на D2007 работал без проблем.
← →
Marser © (2008-02-28 00:50) [86]Я не использую FreeOnTerminate
← →
тимохов (2008-02-28 01:15) [87]я со времен дельфи 2005 жму alt+f+v примерно раз в 20 секунд. это уже привычка, рефлекс.
несмотря на то, что на моем проекте, который создан при моей горячей любви к модулям под 40кил строк, дельфи падает примерно 10 раз в день за последние несколько лет я не потерял ни одной строчки кода, чего и вам, Роман, советую.
(мой приятель юзает shift+f2 - вроде налог save all)
← →
тимохов (2008-02-28 01:17) [88]2длогинов
за все время юзанья потоков не имею к ним ни одной претензии. вроде все ок. и спроектировано неплохо.
возможно дело в том, что я в свое время разобрал до сивола код tthread ПЛЮС сравниваю побайтно исходники при выходе новой версии/нового апдейта...
чего и вам советую.
← →
Поп Гапон (2008-02-28 02:08) [89]
> Prohodil Mimo © (27.02.08 22:49) [79]
>
> Поп Гапон (27.02.08 20:09) [68]
> SVN?
> не понял.
Коммить проекты в SVN, в день я делаю по три коммита.
← →
Германн © (2008-02-28 02:26) [90]
> тимохов (28.02.08 01:15) [87]
>
> я со времен дельфи 2005 жму alt+f+v примерно раз в 20 секунд.
> это уже привычка, рефлекс.
>
>
Не. Моя привычка была изложена ясно и понятно АП в Anatoly Podgoretsky © (27.02.08 08:54) [27]
Вот именно так. (И как он только об этом узнал?. Телепат что-ли? :)
← →
Джо © (2008-02-28 03:39) [91]> [89] Поп Гапон (28.02.08 02:08)
>
> > Prohodil Mimo © (27.02.08 22:49) [79]
> >
> > Поп Гапон (27.02.08 20:09) [68]
> > SVN?
> > не понял.
>
>
> Коммить проекты в SVN, в день я делаю по три коммита.
Это не спасет от сабжевой проблемы. Ибо, с одной стороны, коммитить на каждый чих — та же песня, что и Ctrl-S жать на каждой строке, а с другой стороны — жать Ctrl-S куда удобнее и быстрее :)
← →
Loginov Dmitry © (2008-02-28 07:52) [92]> за все время юзанья потоков не имею к ним ни одной претензии.
> вроде все ок. и спроектировано неплохо.
Я бы сказал, что спроектировано "сносно". Работать можно, если внутрь не заглядывать. А как начинаешь разбирать до символа, становится ясно, что все касательное многопоточности делалось исключительно по баг-репортам. "Ой, глюк? Еще один? Ща исправим! Нате вам! Заработало? Круто! Остальное все работать перестало? Блин! Ща сделаем..." и т.д. В итоге имеем то, что имеем.
← →
Kerk © (2008-02-28 09:30) [93]Если коммитить на каждый чих, то это не svn будет, а помойка
← →
Игорь Шевченко © (2008-02-28 10:02) [94]Loginov Dmitry © (28.02.08 07:52) [92]
Меня поражают твои телепатические способности. Иди ко мне работать - большие деньги будешь получать за телепатию. Но сдается мне, зря ты наезжаешь на Борланд. За то время, пока существует работа с потоками в VCL, если бы было все так плохо, как ты говоришь, давно бы появилась масса альтернативных решений.
Ты готов их найти, чтобы аргументировать свою точку зрения ?
← →
tesseract © (2008-02-28 11:10) [95]
> А как начинаешь разбирать до символа, становится ясно,
> что все касательное многопоточности делалось исключительно
> по баг-репортам.
+1 еще Бакнел об этом давно писал. Многопоточность в Delphi хромает на обе ноги.
← →
DiamondShark © (2008-02-28 12:15) [96]
> oxffff © (27.02.08 19:09) [65]
>
> > DiamondShark © (27.02.08 13:40) [53]
>
> А что едят ваши коты?
В настоящий момент -- VS2003
На 2005-ю стрёмно переходить. А про 2008 стараемся не думать.
Видимо, придётся сразу 2010-ю осваивать
;)
← →
DiamondShark © (2008-02-28 12:18) [97]
> Я сильно надеюсь, у тебя есть достойная альтернатива ?
Не знаю, как всё остальное, но сравнение TThreаd в 5 и 6(7) наводит на мысль о поставках качественного плана где-то в промежутках между версиями.
← →
DiamondShark © (2008-02-28 12:20) [98]
> Настоящий индеец юзает CreateThread, водЪ.
И получает по башке от менеджера памяти.
← →
Пробегал... (2008-02-28 14:47) [99]А я всегда использовал TThread в delphi 7 и никогда не имел проблем. Все вроде корректно работает, да и написан класс то достаточно просто и вроде как все верно.
Что не так то? Что там неправильного и с чем могут быть связаны глюки? Поясните плиз очень интересно.
← →
Prohodil Mimo © (2008-02-28 14:59) [100]Поп Гапон (28.02.08 2:08) [89]
Коммить проекты в SVN, в день я делаю по три коммита.
Рефлекс жать клавиши сохранения у меня выработался лет 12 назад, когда ещё учился. В нашем компьютерном классе проводка для питания компьютеров была не из лучших, куча удлинителей :о) И если сидящий впереди, решал вытянуть ноги, обязательно задевал провода и штекер вылетал из розетки.
И вообще, не люблю нагромождений. Мне этого дельфового монстра хватает, ещё SVNов всяких наверх ставить. Не люблю автоматы, я уж лучше сам :о) И строк я не теряю.
тимохов (28.02.08 1:15) [87]
я со времен дельфи 2005 жму alt+f+v примерно раз в 20 секунд
что же ты с ним делал? Я 2005 как с утра включу, так только вечером выключаю. И проект у меня не маленький.
Правда я из среды не запускаю проекты и отладчиками не пользуюсь из-за ненадобности.
← →
Пробегал... (2008-02-28 15:16) [101]Prohodil Mimo © (28.02.08 14:59) [100]
и отладчиками не пользуюсь из-за ненадобности
ничего себе. Первый раз вижу такого гениального программиста, которому потом отладчик не нужен ;)
← →
Palladin © (2008-02-28 15:17) [102]на меня еще можешь посмотреть...
← →
Пробегал... (2008-02-28 15:31) [103]кланюсь в ноги, о великий гуру ;)
← →
isasa © (2008-02-28 15:35) [104]Palladin © (28.02.08 15:17) [102]
на меня еще можешь посмотреть...
:)
Так, может, и компилятор, того, ну его на фиг?
← →
31512 (2008-02-28 15:38) [105]
> isasa © (28.02.08 15:35) [104]
Я слышал в миру есть Великий, который программы сразу в двоичном коде пишет.
У него на клавиатуре всего две кнопки 0 и 1. И нажимает он их мысленно... Прямо не выходя из Нирваны....
← →
Palladin © (2008-02-28 15:39) [106]хе... а кто мне будет делать то, что потом будет писать мне логи? :)
← →
NoName:( (2008-02-28 15:41) [107]Кто нибудь подскажет как в BDS2006 раскрыть форму во время разработки на весь экран как в D7 ?
← →
Marser © (2008-02-28 16:01) [108]
> DiamondShark © (28.02.08 12:20) [98]
> > Настоящий индеец юзает CreateThread, водЪ.И получает по
> башке от менеджера памяти.
Хороший индеец мёртвй индеец ;-)
Это я Логинову альтернативу предложил. Насчёт менеджера памяти не знаю, в Д6 CreateThread летал именно так, как мне это было нужно, и без матов, давно, правда...
← →
Prohodil Mimo © (2008-02-28 16:26) [109]isasa © (28.02.08 15:35) [104]
Так, может, и компилятор, того, ну его на фиг?
есть задумка написать програмку, которой скармливаешь структуру программы и она на лету генерит нужные формы согласно сценария.
Тогда и компилятор не нужен будет :о)
Это будет не универсально, но для моей области сгодится.
31512 (28.02.08 15:38) [105]
Я слышал в миру есть Великий, который программы сразу в двоичном коде пишет.
У него на клавиатуре всего две кнопки 0 и 1. И нажимает он их мысленно... Прямо не выходя из Нирваны....
бОльшая часть моего кода (~70%) написана на автопилоте :о)
← →
tesseract © (2008-02-28 16:27) [110]
> бОльшая часть моего кода (~70%) написана на автопилоте :
> о)
Как показывает практика такой код меньше всего нуждаеться в отладке.
← →
31512 (2008-02-28 16:30) [111]
> Prohodil Mimo © (28.02.08 16:26) [109]
Я никогда не рискну использовать препараты расширяющие сознания дабы достичь автоматического пилотирования при разработке. :-)))) Может я устарел?
Расскажи как писать на автопилоте? :-)))
← →
Prohodil Mimo © (2008-02-28 17:30) [112]tesseract © (28.02.08 16:27) [110]
Как показывает практика такой код меньше всего нуждаеться в отладке.
Хотел приписать в [109], что "этот код очень редко приходится отлаживать, обычно даже запускается всё с первого раза".
Не написал.
В итоге твой пост :о)
31512 (28.02.08 16:30) [111]
Я никогда не рискну использовать препараты расширяющие сознания дабы достичь автоматического пилотирования при разработке. :-)))) Может я устарел?
Расскажи как писать на автопилоте? :-)))
А я ничего не употребляю, ни препаратов ни алкоголя, ни курева :о)
Просто сажусь и пишу то, что мой мозг придумал, пока я был занят совершенно посторонними от программирования делами. Сижу и пишу кучу строк ни о чём не задумываясь. Когда всё напишу, компилирую, вылавливаю опечатки, если таковые прокрались. Запускаю проект и проверяю всё ли работает как положено. :о)
← →
Loginov Dmitry © (2008-02-28 19:22) [113]> А я всегда использовал TThread в delphi 7 и никогда не имел
> проблем. Все вроде корректно работает, да и написан класс
> то достаточно просто и вроде как все верно.
>
> Что не так то? Что там неправильного и с чем могут быть
> связаны глюки? Поясните плиз очень интересно.
Вроде ничего "аболютно" неверного там нет. Но факт остается фактом - программа при использовании TThread в некоторых случаях зависает. Сегодня на работе абсолютно бестолково убил 5 часов, разбираясь с подобным зависанием. Программа зависает даже если просто вызвать Terminate (в секции Finalization). О вызове TThread.Free я даже и не говорю - тут стабильно виснет основной поток. Вопрос решился только путем перенесения кода создания потока из initialization в другое место (в итоге создаваться стал где-то на пару секунд позже). Вроде бы при установке Terminated тут и не может ничего виснуть, т.к. WaitFor вообще не вызывается. Однако имеем то что имеем (приложение виснет, возможно что на каком-то другом потоке (их там много), возможно 2 потока стали одновременно завершаться и вошли в dead lock, не суть).
А глюки процентов на 80 связаны с абсолютно бездумными манипуляциями с эвентом "SyncEvent". Где хотят, там и устанавливают/сбрасывают.
← →
isasa © (2008-02-28 19:28) [114]Prohodil Mimo © (28.02.08 16:26) [109]
есть задумка написать програмку, которой скармливаешь структуру программы и она на лету генерит нужные формы согласно сценария.
Тогда и компилятор не нужен будет :о)
Это будет не универсально, но для моей области сгодится.
Это типа ReAutoShema
Это да, мощная вешь. Одна проблема, схему сначало надо нарисовать, т.е. составить алгоритм пляски святого Витта ...
← →
Пробегал... (2008-02-28 19:34) [115]Loginov Dmitry © (28.02.08 19:22) [113]
интересно. Много я такого слышал, и что компилятор ошибается, и то и другое. В 99% случаев косяки были пользовательские.
Так что я пока буду думать, что все ок. Пока не увижу пример повторяющий проблему.
← →
Loginov Dmitry © (2008-02-28 19:43) [116]> За то время, пока существует работа с потоками в VCL, если
> бы было все так плохо, как ты говоришь, давно бы появилась
> масса альтернативных решений.
> Ты готов их найти, чтобы аргументировать свою точку зрения
> ?
Действительно, альтернативных решений как-то не очень много. Могу упомянуть библиотеку Gala (но тут совершенно другая идеология, слишком сильно отличающаяся от TThread и от основ синхронизации в Windows), а хотелось бы иметь не то что бы альтернативу, а аналог TThread, имеющий те же самые привычные свойства и методы, но свободный от допущенных в TThread ошибок...
← →
Пробегал... (2008-02-28 19:51) [117]обычно в VCL нет никаких ошибок, иначе они давно бы уже были исправлены.
Обычно ошибки есть в понимании как это работает и соответственно получение не того результата.
← →
Kerk © (2008-02-28 19:55) [118]
> Пробегал... (28.02.08 19:51) [117]
>
> обычно в VCL нет никаких ошибок, иначе они давно бы уже
> были исправлены.
>
> Обычно ошибки есть в понимании как это работает и соответственно
> получение не того результата.
обычно в Windows нет никаких ошибок, иначе они давно бы уже были исправлены.
Обычно ошибки есть в понимании как это работает и соответственно получение не того результата.
---
Самолично наблюдал ошибку в реализации TMainMenu (или его предка, не помню).
← →
oxffff © (2008-02-28 19:56) [119]
> DiamondShark © (28.02.08 12:15) [96]
>
> > oxffff © (27.02.08 19:09) [65]
> >
> > > DiamondShark © (27.02.08 13:40) [53]
> >
> > А что едят ваши коты?
>
> В настоящий момент -- VS2003
> На 2005-ю стрёмно переходить. А про 2008 стараемся не думать.
>
> Видимо, придётся сразу 2010-ю осваивать
> ;)
Я так понимаю это С# или Managed C++, или ILASM?
← →
@!!ex © (2008-02-28 20:28) [120]> бОльшая часть моего кода (~70%) написана на автопилоте :
> о)
Круто...
А мне постоянно приходится использовать технологии, которые раньше не использовал... в итоге - без отладки,никуда...
Страницы: 1 2 3 4 вся ветка
Текущий архив: 2008.04.13;
Скачать: CL | DM;
Память: 0.68 MB
Время: 0.012 c