Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2006.05.07;
Скачать: [xml.tar.bz2];

Вниз

Quality Central от Borland а   Найти похожие ветки 

 
Суслик ©   (2006-04-09 15:02) [0]

Пользуется ли кто сабжем?

Странно, что я не видел ни одного репорта от знакомых фамилий :) Да и вообще от русских.


 
Гаврила ©   (2006-04-09 15:11) [1]

Один раз писал туда.
(баг репорт на 2005 по поводу использования имен юнитов с пространством имен но под win32)
Без результата
хотя с другой стороны, в 2006 этого бага  (авто подстановка себя же в свой же uses список) нет


 
Суслик ©   (2006-04-09 15:13) [2]


> Гаврила ©   (09.04.06 15:11) [1]

Я сейчас активно стал использовать qc.
Меня тоже удивило, что постишь репорт, а он в qc вроде как без ответа остается. Мне в новостной группе ответили, что борландовцы часто не обрабатывают репорты из qc т.к. возможно сами нашли эту багу и сами же занесли в свою внутреннюю базу. Т.е. они могут исправить ошибку, но не отразить это в qc. Т.е. писать все-таки смысл есть.


 
Ketmar ©   (2006-04-09 15:39) [3]

не знаю. писал, кажись, когда-то о баге компилятора (compiler fatal error на простом легальном коде) и баге с case (сжираем всю память и рушимся в процессе компиляции). ни ответа, ни привета, ни фикса. уже 3 версии как минимум (до 7 включительно, выше не проверял).


 
Yanis ©   (2006-04-09 17:06) [4]


> не знаю. писал, кажись, когда-то о баге компилятора (compiler
> fatal error на простом легальном коде) и баге с case (сжираем
> всю память и рушимся в процессе компиляции). ни ответа,
> ни привета, ни фикса. уже 3 версии как минимум (до 7 включительно,
>  выше не проверял).

Показывай.


 
Суслик ©   (2006-04-09 17:11) [5]


> Ketmar ©   (09.04.06 15:39) [3]

кстати, да.
покажи, что за код.
или номер репорта скажи


 
LexxX ©   (2006-04-09 17:58) [6]

Ketmar ©   (09.04.06 15:39) [3]
Ketmar ©


Код, код!


 
Ketmar ©   (2006-04-09 18:22) [7]

код номер один. моя D5 и D7 в ступоре:

var
 a: Integer = 10;
begin
 case a of
   $7FFFFFFB: WriteLn("cb");
   $7FFFFFFC: WriteLn("cc");
   $7FFFFFFD: WriteLn("cd");
   $7FFFFFFE: WriteLn("ce");
   $7FFFFFFF: WriteLn("cf");
 end;
end.


 
Ketmar ©   (2006-04-09 18:23) [8]

код номер два щаз вырежу из большого проекта. %-)


 
Ketmar ©   (2006-04-09 18:31) [9]

вот, код вырезан на скорую руку. проект ОЧЕНЬ древний. %-) D5 и D7 в апофигее, если меняем {$O-} на {$O+} (сиречь, включаем оптимизацию).


unit aaa;

interface

uses
 SysUtils, Classes;

const
 NUL = -1;
 HASHSIZE = 65536;
 HASHMASK = (HASHSIZE - 1);

 MINCOPY    =    3;
 MAXCOPY    =  256;
 SHORTRANGE =    4;
 MaxSize = 87375 + MAXCOPY;
 COPYRANGES =    7;

type
 Copy_Type = array [0..CopyRanges - 1] of Integer;

const
 CopyMin: Copy_Type = (0, 16, 80, 336, 1360, 5456, 21840);
 CopyMax: Copy_Type = (15, 79, 335, 1359, 5455, 21839, 87375);
 MaxDistance: Integer = 87375;

type
 PHashType = ^THashType;
 THashType = array [0..HashSize-1] of Integer;
 PListType = ^TListType;
 TListType = array [0..MaxSize] of Integer;
 PBufferType = ^TBufferType;
 TBufferType = array [0..MaxSize] of Byte;

type
 TPack6Stream = class(TStream)
 private
   FHead: PHashType;
   FNext: PListType;
   FBuffer2: PBufferType;

   FDistance: Integer;
   FInsrt: Integer;

   function  Match(N, Depth: Integer): Integer;
 end;

implementation

{!!!Delphi bug!}
{$O-}
function TPack6Stream.Match(N, Depth: Integer): Integer;
var
  I, J, Index, Key: Integer;
  Dist, Len, Best, Count: Integer;
begin
 Best := 0;
 Count := 0;
 if (N = MaxSize) then N := 0;
 Key := (FBuffer2^[N] xor (FBuffer2^[(N+1) mod MaxSize] shl 4)) xor
                  (FBuffer2^[(N+2) mod MaxSize] shl 8) and HASHMASK;
 Index := FHead^[Key];
 while (Index <> NUL) do
 begin
   Inc(Count);
   if (Count > Depth) then break;
   if (FBuffer2^[(N+Best) mod MaxSize] = FBuffer2^[(Index+Best) mod MaxSize]) then
   begin
     Len := 0;
     I := N;
     J := Index;
     while (FBuffer2^[I] = FBuffer2^[J]) and (Len < MAXCOPY) and
       ((J <> N) and (I <> FInsrt)) do
     begin
       Inc(Len);
       Inc(I);
       if (I = MaxSize) then I := 0;
       Inc(J);
       if (J = MaxSize) then J := 0;
     end;
     Dist := N - Index;
     if (Dist < 0) then Inc(Dist, MaxSize);
     Dec(Dist, Len);
     if (Len > Best) and (Dist <= MaxDistance) then
     begin
       if (Len > MINCOPY) or (Dist <= CopyMax[SHORTRANGE]) then
       begin
         Best := Len;
         FDistance := Dist;
       end;
     end;
   end;
   Index := FNext^[Index];
 end;
 Match := Best;
end;
{$O+}

end.


 
Ketmar ©   (2006-04-09 18:32) [10]

за базар ответил? %-))


 
Ketmar ©   (2006-04-09 18:38) [11]

и уж чтобы совсем собой ветку зафлудить: да разве ж я помню номера? когда было-то? я даже не помню, как меня звали, когда регистрировался. %-) дело было на конторе, с честными Delphi. %-)


 
LexxX ©   (2006-04-09 18:42) [12]

Ketmar ©   (09.04.06 18:22) [7]
Мндя....

Ketmar ©   (09.04.06 18:32) [10]
за базар ответил? %-))


Угу :)


 
LexxX ©   (2006-04-09 18:48) [13]

Ketmar ©   (09.04.06 18:22) [7]
var
a: Integer = 10;
begin
case a of
  $7FFFFFFB: WriteLn("cb");
  $7FFFFFFC: WriteLn("cc");
  $7FFFFFFD: WriteLn("cd");
  $7FFFFFFE: WriteLn("ce");
  $7FFFFFFF: WriteLn("cf");
end;
end.


Кстати, меняя на десятиричные значения $7FFFFFFC ... $7FFFFFFF - получаем то же самое.


 
Ketmar ©   (2006-04-09 18:56) [14]

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


 
Суслик ©   (2006-04-09 19:18) [15]


> Ketmar ©   (09.04.06 18:22) [7]

Дельфи 2006 prof - полет нормальный.
Все компилиться работает.


 
Ketmar ©   (2006-04-09 19:24) [16]

ну я же сказал, что проверял только до D7. выше у меня нет. значит, дочитали таки баглист до нужного места. %-)


 
Суслик ©   (2006-04-09 19:30) [17]

Ну вот видишь, не напрасен твой труд.
Жаль, что по моим наблюдениям интерес к qc из России слабоват :(


 
Ketmar ©   (2006-04-09 19:32) [18]

а зачем? xUSSR-кодерам проще хаком обойти, чем лезть куда-то и какие-то буквы буржуям дарить. %-) зато потом так интересно читать чудой код и долго офигевать...


 
Суслик ©   (2006-04-09 19:45) [19]

не смешно :(
нет бы побороться за качество продукта


 
Yanis ©   (2006-04-11 19:07) [20]


> за базар ответил? %-))

Ага ;)



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

Форум: "Прочее";
Текущий архив: 2006.05.07;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.51 MB
Время: 0.012 c
4-1139825664
Цукор5
2006-02-13 13:14
2006.05.07
SendMessage при разных вызовах форм


2-1145118661
frei
2006-04-15 20:31
2006.05.07
Фильтр по дате


5-1130227678
DimaBr
2005-10-25 12:07
2006.05.07
Редакторы компонент


15-1145095256
SergP.
2006-04-15 14:00
2006.05.07
Нужна помощь по скачиванию файла


2-1145508725
mfender
2006-04-20 08:52
2006.05.07
Округление





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский