Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.11;
Скачать: CL | DM;

Вниз

Глюк INDY или в моей версии Delphi чего-то не хватает   Найти похожие ветки 

 
Alex*   (2004-04-19 16:00) [0]

Разбирался как-то с кодировкой и вот что обнаружил. В файле IdCoderMessageDigest.pas находящимся c:\Program Files\Borland\Delphi6\Source\Indy\ вот такую процедуру

procedure TIdCoderMD4.SetBufferSize;
begin

end;

Отсюда появился ряд вопросов:
1. Это только у меня или у кого-то еще такое чудо есть?
2. Интересно может еще есть в каких–нибудь модулях подобный хлам?


 
ССЗБ   (2004-04-19 16:47) [1]

Indy - неплохая вещичка, но довольно глючная...


 
Alex*   (2004-04-19 17:07) [2]

После сегодняшнего сканирования текстов полностью согласен. Компонентов много, а толку мало. Что подсказывает что надо к возвращаться к компонентам на вкладку FastNet


 
Карелин Артем ©   (2004-04-19 17:12) [3]

Alex*   (19.04.04 17:07) [2]
Эти больше глючат. ISC качай.


 
sniknik ©   (2004-04-19 17:17) [4]

FastNet еще более глючен только исходников не имеет, на пустую форму положи компонент TNMUDP(вроде так, если не перепутал), и попробуй перегрузится при запущенной этой проге.

самый глючный это vcl (если по этому признаку судить) идем в исходники и видим (о ужас) ->
procedure TDragObject.Finished(Target: TObject; X, Y: Integer; Accepted: Boolean);
begin
end;
и еще куча подобных "глюков" в самых разных компонентах.

вопрос в ответ, оно у тебя работает? вот и разберись почему, кодо то нет. ;о))


 
VMcL ©   (2004-04-19 17:20) [5]

>>ССЗБ  (19.04.04 16:47) [1]

Глючность Indy зависит от прокладки.


 
sniknik ©   (2004-04-19 17:20) [6]

VMcL ©   (19.04.04 17:20) [5]
между клавиатурой и монитором?


 
Vuk ©   (2004-04-19 17:22) [7]

>между клавиатурой и монитором?
Между ушами.


 
ССЗБ   (2004-04-19 17:27) [8]


> VMcL ©   (19.04.04 17:20) [5]
> >>ССЗБ  (19.04.04 16:47) [1]
>
> Глючность Indy зависит от прокладки.


Угу. Ты, видать, мало имел дело с Indy, раз позволяешь себе такие высказывания. Думай иногда.


 
sniknik ©   (2004-04-19 17:36) [9]

инди поставляется с исходниками, это уже само за себя говорит. покажи место с глюками. без голословных заявлений.

p.s. согласен, дело в прокладке. ;о)


 
Vuk ©   (2004-04-19 17:38) [10]

Я бы вообще посоветовал более свежую версию Indy использовать, а не ту, что с Delphi поставляется.

www.nevrona.com/indy


 
VMcL ©   (2004-04-19 17:47) [11]

>>sniknik ©  (19.04.04 17:20) [6]

Между монитором и спинкой стула/кресла.


 
Alex*   (2004-04-20 11:14) [12]


> sniknik ©   (19.04.04 17:36) [9]
> инди поставляется с исходниками, это уже само за себя говорит.
> покажи место с глюками. без голословных заявлений.

Значит главное приимущество Indy в налиции исходников. Или я ошибаюсь?


 
sniknik ©   (2004-04-20 11:54) [13]

ну в открытом коде легче найти ошибку и ткнуть авторов в нее носом, чем в закрытом.
но только большинство этого почемуто не делает, ограничиваются голословными утверждениями...
> [1] > [8]
тому пример.

а пример "хлама" в [0], это поверь не хлам и не глюк, это отсутствие знаний по ООП (твоих а не авторов инди :).


 
ССЗБ   (2004-04-20 13:00) [14]

Главное и единственное.


 
Alex*   (2004-04-20 13:10) [15]


> sniknik ©   (20.04.04 11:54) [13]
>
> а пример "хлама" в [0], это поверь не хлам и не глюк, это



значит подобные процедуры(функции) как то используется, если не секрет то как?

> sniknik ©   (20.04.04 11:54) [13]
> отсутствие знаний по ООП (твоих а не авторов инди :).


согласен, все знать не возможно, но незнания можно пополнить.


 
sniknik ©   (2004-04-20 13:36) [16]

> значит подобные процедуры(функции) как то используется, если не секрет то как?
класический пример ООП (на первых страницах обычно описывается), графический класс фигуры, с движением. методы обшие для "движения" описываются в базовом классе - показать, погасить, сдвиг но так как в базовом нет ничего конкретного - круг, квадрат, линия ... (показывать и гасить нечего), а только общее описание то делаются виртуальные процудуры которые после переопределяются но в методах базового класса их уже можно использовать (хотя в базовом это пустышка), и сдвиг (общий для всех) уже не нужно многократно переписывать, для конкретного (потомка) будет использована переопределенная именно в нем процедура.

не думаю что это хорошее описание, лутше найди это в книге.

ССЗБ   (20.04.04 13:00) [14]
> Главное и единственное.
даже если и так (хотя естественно не согласен, пришлось помучится с FastNet (причину указывал)).
исходники многое перевешивают, так к примеру у нас используют халсион (один из немногих разрешонных пакетов) только изза наличия исходников, более скоростные и разрекламмированные не стали, и оказались правы когда оказалось что индексы разные версии клипера делают по разному (всего одна процедура, а не было бы кода нечего былобы править при переходе с версии на версию)
и кстати по скорости как оказалось он если и отстает то ненамного.


 
Alex*   (2004-04-20 13:50) [17]


> sniknik ©   (20.04.04 13:36) [16]

Для виртуальных функций согласен, но для обычных по моеиу смысла в них нет, если только как заглушка не используется.
А исходники это вещь!!!(по крайней мере есть что покритиковать)


 
sniknik ©   (2004-04-20 14:11) [18]

то что ты не привел
 TIdCoderMD4 = class(TIdCoder)
 protected
   FBitsProcessed: LongWord;
   FBuffer: T4x4LongWordRecord;
   FCount: T64BitRecord;
   FDone: Boolean;

   procedure Coder; override;
   procedure CompleteCoding; override;
   function func_f(x, y, z: LongWord): LongWord; virtual;
   function func_g(x, y, z: LongWord): LongWord; virtual;
   function func_h(x, y, z: LongWord): LongWord; virtual;
 public
   constructor Create(AOwner: TComponent); override;
   procedure Reset; override;

   procedure FillSamples(AStringList: TStrings); virtual;
   procedure SetBufferSize(ASize: LongWord); override;
 end;


> по крайней мере есть что покритиковать
пока что без оснований.


 
ССЗБ   (2004-04-20 14:51) [19]


> sniknik ©   (20.04.04 14:11) [18]


Ты хоть знаешь такого товарища Chad Z. Hower? Я в свое время с ним наобщался по самое немогу - больше, чем ты в мастерах ходишь.


 
sniknik ©   (2004-04-20 15:32) [20]

не в мастерах общения заметь, ты код глючный давай пообсуждаем. кстати сети это не мой профиль это побочно, у меня специализация базы, т.что вполне можеш меня переубедить (если аргументированно), впрочем если аргументированно то я в любой области переубеждаем.


 
ССЗБ   (2004-04-20 15:53) [21]

Chad Z. Hower - отец и основатель Indy.
Он мне признался, что компонент TidMessage - очень глючный. Но времени на его доработку не имеет (а кто его может заставить?)

Причем чел довольно вменяемый, не бросается словами "дело в прокладке" (как любят делать некоторые товарищи здест). Про небезупречность своей библиотеки он знает не хуже нас с вами.


 
sniknik ©   (2004-04-20 16:19) [22]

> Он мне признался, что компонент TidMessage - очень глючный.
он просто устал у ВАС выяснять в чем причина "глюка" и его проявления, как человек который временами бывает в службе поддержки юзеров а очень хорошо его понимаю.

> а кто его может заставить?
кроме отца основателя, в больших проэктах есть подручные, и их он сам может заставить доработать компанент если уж понимает в чем причина.

> Про небезупречность своей библиотеки он знает не хуже нас с вами.
вот не надо за нас, говори за себя, я в ней глюков не находил. (в отличии от фастнет)

p.s. надоело. нет доказательств нет общения.


 
ССЗБ   (2004-04-20 17:03) [23]

А с какой стати я что-то должен тебе доказывать?
Я сам прекрасно знаю эту библиотеку, и мне нет нужды кому-то что-то доказывать.

А глюков ты не находил, потому что писал, скорее всего, детские сокетные приложения.


 
Alex*   (2004-04-20 17:25) [24]


> sniknik ©   (20.04.04 16:19)


> sniknik ©   (20.04.04 14:11) [18]
> то что ты не привел
>
>    TIdCoderMD4 = class(TIdCoder)
>    procedure SetBufferSize(ASize: LongWord); override;
>  end;
>
> > по крайней мере есть что покритиковать
> пока что без оснований.

А чего там терегружать то, если она пустая(переливать из пустого впорожню)

Вопрос не по месту навеное, но очень давно ищу на него ответ как
по POP3 прочитать тему (да и тело) письма написанную русскими буквами а не набор символов.(кажктся ты упомянул что в свое время поработал прилично с этими компонентами)


 
sniknik ©   (2004-04-20 18:00) [25]

> А чего там терегружать то, если она пустая(переливать из пустого впорожню)
а то что она пустая уже используется тебя не смущает? в потомках в этом месте будет код, и не нужно будет переписывать много раз одни и те же методы.

вот так и рождаются подозрения в глючности - не понимаю значит глючит! и все тут, никакие пояснения нам не нужны. зачем ветка то?


 
sniknik ©   (2004-04-20 18:06) [26]

и потом даже если сразу неиспользуется, все равно нельзя сделать перегружаемую из статичной, а если в дальнейшем понадобится? не проще один раз в базовом классе написать чем во всех потомках?

ты лутше по vcl полазь, борланд сам так пишет или тоже сплош багописатели? ну так оставь дельфи тем кто так не считает, а сам переходи на ... (х.з. по моему в любом обьектно ориентированном языке это используется), а переходи сразу в управдомы.


 
Vuk ©   (2004-04-20 18:23) [27]

to Alex*   (20.04.04 17:25) [24]:
>А чего там терегружать то, если она пустая(переливать из пустого
>впорожню)

Значит так. SetBufferSize в TIdCoderMD4 сделан пустым специально, для того, чтобы изменить технику работы с буффером, а именно запретить изменение его длины. У предка (TIdCoder) этот метод не пустой. Так что не надо про глюки. Просто нужно смотреть, что перекрывается и зачем, а не рассказывать всем про хлам, которого в данном случае нет.

>Вопрос не по месту навеное, но очень давно ищу на него ответ как
>по POP3 прочитать тему (да и тело) письма написанную русскими
>буквами а не набор символов.
А какие с этим проблемы-то?
С телом сообщения все более-менее просто - пишем нужные перекодировщики (никто же не ожидает, что Indy будет разбираться во всех нужных кодировках), смотрим кодировку сообщения и перекодируем из кодировки сообщения в системную. С темой немножко придется поковыряться, т.к. отдельного поля сообщения, где указана кодировка темы нет. Поэтому она обычно указывается в самой теме, которая описывается синтаксисом MIME. Почитав, например RFC2047, разобрать такую строку тоже особого труда не составляет.

Кстати, по-прежнему рекомендую скачать более свежую версию Indy.


 
sniknik ©   (2004-04-20 18:31) [28]

> никто же не ожидает, что Indy будет разбираться во всех нужных кодировках
как же не ожидают, отсутствие будет обьявлено очередным "глюком". ;(.


 
Игорь Шевченко ©   (2004-04-20 23:10) [29]


> А глюков ты не находил, потому что писал, скорее всего,
> детские сокетные приложения


Скорее, от того, что радиус несколько меньше...


 
Undert ©   (2004-04-20 23:40) [30]

ССЗБ :

VMcL ©  прав, а првильнеее даже так: глючность компонента или кода зависит от рук, которые это используют. Тебе не пофигу пустая или ещё какая процедура ?! Ты исходники Linux видел или какого-нить другого Opensource или постоянно-обновляющегося проекта ? Там таких пустышек просто дофига, надеюсь до тебя дойдёт почему.


 
Undert ©   (2004-04-20 23:42) [31]

ЗЫ: вышесказанное и к Akex* тоже относится.


 
Alex*   (2004-04-21 09:50) [32]


> sniknik ©   (20.04.04 18:31) [28]
> как же не ожидают, отсутствие будет обьявлено очередным
> "глюком". ;(.


Да будет. Пока не разбирусь как работает ;{(Свойство человеческого характера отвергать все что непонятно)


> sniknik ©   (20.04.04 18:06)


> Vuk ©   (20.04.04 18:23) [27]


> Undert ©   (20.04.04 23:40) [30]


Ладно, ладно. Убедили.
Я о таких хитростих незнал(считал что если есть процедура/функция то она должна быть заполнена), а тут смотри как много нового рассказали. Есть над чем макушку почесать :)

> Vuk ©   (20.04.04 18:23) [27]
> Кстати, по-прежнему рекомендую скачать более свежую версию
> Indy.

Еще один глупый вопрос! А Delphi 6 она подружиться?

Всем вразумителям Большое Спасибо


 
Vuk ©   (2004-04-21 10:22) [33]

to Alex*   (21.04.04 09:50) [32]:
>Еще один глупый вопрос! А Delphi 6 она подружиться?
Подружится, никуда не денется. У меня дружит. Сразу скажу, что последние версии Indy достаточно сильно отличаются от тех версий, что поставляются с Delphi. Соответственно, советую оттуда же скачать примеры и новую справку.


 
Alex*   (2004-04-21 10:26) [34]


> Vuk ©   (21.04.04 10:22) [33]

Спасибо.



Страницы: 1 вся ветка

Текущий архив: 2004.04.11;
Скачать: CL | DM;

Наверх




Память: 0.57 MB
Время: 0.041 c
9-1065083172
AlexT1000
2003-10-02 12:26
2004.04.11
Как снять программно скриншот с экрана в FullScreen DirectX?


1-1082660847
Боян Георгиев
2004-04-22 23:07
2004.04.11
Курсор


4-1079939092
BillyJeans
2004-03-22 10:04
2004.04.11
WM_HOTKEY и NumLock...


3-1079512826
Rule
2004-03-17 11:40
2004.04.11
Не могу разобратся с разделителемя дробной части в FB 1


11-1059056505
_Polymorphic_
2003-07-24 18:21
2004.04.11
PStrList