Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.69 MB
Время: 0.017 c
3-1195555634
shah
2007-11-20 13:47
2008.04.13
Распределенные базы данных


4-1187003036
DevilDevil
2007-08-13 15:03
2008.04.13
Удалить все сообщения контролу из очереди сообщений


2-1205506618
Sesh
2008-03-14 17:56
2008.04.13
Компонент


2-1205924964
SKIPtr
2008-03-19 14:09
2008.04.13
использование TValueListEditor


3-1195575987
ari_9
2007-11-20 19:26
2008.04.13
Длинные (несколько суток) читающие транзакции в FB. Как лучше ?




   Наверх