Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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
2-1205935938
Studios
2008-03-19 17:12
2008.04.13
TMemoryStream как превратиь в string?


2-1205838616
asdf2
2008-03-18 14:10
2008.04.13
CalculatedFields


2-1205908465
zorik
2008-03-19 09:34
2008.04.13
Доступ класса к главному класса и к его свойствам


2-1205934346
Kolan
2008-03-19 16:45
2008.04.13
Преобразовать структуру в массив байт и наоборот.


2-1205907552
Fr1K
2008-03-19 09:19
2008.04.13
DBgr1d Проблемы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский