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

Вниз

Исправляем баги в Delphi.   Найти похожие ветки 

 
oxffff ©   (2006-11-18 18:04) [0]

Данная тема создана для того, чтобы выявить ошибки(недочеты) в Delphi.
Огромное пожелание воздерживаться от высказываний иной направленности,
особенно поклонников других сред и языков.
С уважением oxffff.

Бага первая функция InvokeImplGetter из system.pas

реализация части кода на PUREPASCAL

     begin
       // sign extend vmt slot offset = smallint cast
 TMethod(M).Code := PPointer(Integer(Self) + SmallInt(ImplGetter))^;
       Result := M;
     end;

реализация этой же части кода на ASM

     {       the GetProc is a virtual method }
     MOVSX   ECX,CX                  { sign extend slot offs }
     ADD     ECX,[EAX]               { vmt   + slotoffs      }
     JMP     dword ptr [ECX]         { call vmt[slot]        }

Видим несоотвествие

Исправленная часть на PUREPASCAL

    begin
       // sign extend vmt slot offset = smallint cast
 TMethod(M).Code := PPointer(pInteger(Self)^ + SmallInt(ImplGetter))^;
       Result := M;
     end;

В дальнейшем рассмотрим проблему с custom variant by ref.

С уважением oxffff.


 
KilkennyCat ©   (2006-11-18 18:14) [1]

> Огромное пожелание воздерживаться от высказываний иной направленности

а также от размещения подобных тем в иной направленности форумы.


 
Palladin ©   (2006-11-18 18:20) [2]

С уважением Palladin.
Это ветке место в прочее.
С уважением Palladin.
P.S.:С уважением Palladin.


 
Орион ©   (2006-11-18 18:26) [3]

> [0] oxffff ©   (18.11.06 18:04)

раз уж такая серьезная и полезная ветка, то хотя бы код соответствующим тегом выделяй ;)
С уважением Орион.


 
oxffff ©   (2006-11-18 18:27) [4]

Бага вторая проблема custom variant by ref

Для выявления не требуется реализация наследника от TCustomVariantType

procedure TForm1.Button1Click(Sender: TObject);
var a:variant;
   b:variant;
begin
tvardata(a).VType:=273 or varbyref;
b:=a; // Exception

Проблема
некорректная реализация функции FindCustomVariantType в Variants


 
Kolan ©   (2006-11-18 18:50) [5]

> Данная тема создана для того, чтобы выявить ошибки(недочеты)
> в Delphi.

Что бы потом ...


 
Kolan ©   (2006-11-18 18:50) [6]

Да, с уважением Kolan


 
oxffff ©   (2006-11-18 19:14) [7]


> Kolan ©   (18.11.06 18:50) [5]
> > Данная тема создана для того, чтобы выявить ошибки(недочеты)
> > в Delphi.
>
> Что бы потом ...


Сделать Delphi надежной, стабильной. удобной и привлекательной.
С уважением oxffff.


 
KilkennyCat ©   (2006-11-18 19:17) [8]

[5] Kolan ©   (18.11.06 18:50)
[7] oxffff ©   (18.11.06 19:14)


невоздерживаемся? расстрел!


 
vuk ©   (2006-11-18 19:43) [9]

А зачем все это? Есть же QC, вот еще на Королевстве проект: http://www.delphikingdom.com/asp/stones.asp


 
VirEx ©   (2006-11-18 19:59) [10]


>  [9] vuk ©   (18.11.06 19:43)

спасибо...
С уважением VirEx


 
oxffff ©   (2006-11-18 21:13) [11]


> vuk ©   (18.11.06 19:43) [9]
> А зачем все это? Есть же QC, вот еще на Королевстве проект:
>  http://www.delphikingdom.com/asp/stones.asp


А форумы вообще зачем?


 
vuk ©   (2006-11-18 23:44) [12]

to oxffff ©   (18.11.06 21:13) [11]:
>А форумы вообще зачем?
Общаться. :o)
Подумайте где эта ветка будет через неделю, месяц и т.д. И сколько от нее будет толку.


 
jack128 ©   (2006-11-18 23:49) [13]

vuk ©   (18.11.06 23:44) [12]
И сколько от нее будет толку.

примерно столько же сколько и всех оостальных веток в этой конфе ;-)


 
vuk ©   (2006-11-18 23:56) [14]

to jack128 ©   (18.11.06 23:49) [13]:
От и я про то. Нафига тогда заводить что-то для выявления багов, если через месяц это все никто не найдет? И это при том, что общеизвестны места, где такого не произойдет. Тем более, что чтобы "Сделать Delphi надежной, стабильной. удобной и привлекательной" писать нужно в одно точно известное место - QC, а никак не сюда.
А пофлеймить про баги - это всегда пожалуйста.:o)


 
Gero ©   (2006-11-19 00:04) [15]

Мне нечего сказать.

С выражением.


 
Anatoly Podgoretsky ©   (2006-11-19 00:37) [16]

> Gero  (19.11.2006 0:04:15)  [15]

На собрание надо приходить подготовленым (с) Ералаш


 
oxffff ©   (2006-11-19 13:27) [17]


> vuk ©   (18.11.06 23:56) [14]
> to jack128 ©   (18.11.06 23:49) [13]:
> От и я про то. Нафига тогда заводить что-то для выявления
> багов, если через месяц это все никто не найдет? И это при
> том, что общеизвестны места, где такого не произойдет. Тем
> более, что чтобы "Сделать Delphi надежной, стабильной. удобной
> и привлекательной" писать нужно в одно точно известное место
> - QC, а никак не сюда.
> А пофлеймить про баги - это всегда пожалуйста.:o)


Писал на qc. C примером кода еще летом.
Ответили в сентябре, сказали не могли ли вы привести код.
Это нормально?
Может еще им и исправления писать сразу.
Вот такой QC.


 
oxffff ©   (2006-11-19 13:30) [18]

>vuk ©   (18.11.06 23:56) [14]
>А пофлеймить про баги - это всегда пожалуйста.:o)

Ага, мне делать нечего.


 
Суслик ©   (2006-11-19 13:49) [19]


>  [17] oxffff ©   (19.11.06 13:27)



> Писал на qc. C примером кода еще летом.
> Ответили в сентябре, сказали не могли ли вы привести код.
> Это нормально?
> Может еще им и исправления писать сразу.
> Вот такой QC.


Не надо плохо отзываться о QC.
У них система такая:
1. Тот QC, который видишь ты - это публичная часть. Ею заведуют АП, ИШ, ЮЗ (это я образно) и прочие модераторы - т.е. они являются модераторами на бесплатной основе. Их задача добиться от репортующего устойчиво-воспроизводимой ошибки.
2. Есть еще один QC - internal database. Туда уходят только:
а) общие параметры (тема, билд и пр.)
б) секция description
в) секций steps
г) вроде еще и attachment.
Всякие обсуждения туда не уходят.
Данный internal database уже видим разработчикам.

Если тебя послали, значит твой пример был не воспроизводим.
По своему опыту могу сказать - хороший репорт, всегда будет открыт (не известно, правда, сделан ли :)). Там практика имхо такая, что к тему, кто пишет хорошие репорты формируется уважительное отношение. Мои репорты с недавней поры стали открываться через несколько дней. Это я не хвалюсь - просто опытом делюсь :)

Здесь большая ответственность ложится на тебя: поставь себя на место модераторов, смогут ли они легко воспроизвести ошибку? понятна ли суть ошибки? и т.д.

Одним словом, зря ты плохо думаешь о QC.


 
Суслик ©   (2006-11-19 13:54) [20]

Еще...
По object pascal у них сейчас очень активный сисоп (модератор, по-нашему): автор FastMM Пьер Ле Риш.
Если интересно можешь на него выйти. Он очень заинтересовам в улучшении Object Pascal. Если не ошибаюсь по этому разделу он там главный (в смысле, самый ответственный). Если интересует, чтобы твои репорты открывались, то можно на него выйти. Вариантов несколько:
1. засветиться в группе basm на борландовом новостном сервере.
2. засветиться хорошей доработкой FastMM (ошибку каку-нить найти или предложение сделать).
Можно, конечно, и напрямую попробовать с ним начать общаться, но не знаю - насколько он к этому готов.



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

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

Наверх




Память: 0.52 MB
Время: 0.039 c
15-1164112669
polomiec
2006-11-21 15:37
2006.12.10
tsql


11-1140316470
vvp
2006-02-19 05:34
2006.12.10
Как получить индексы выделенных элементов в ListBox е?


15-1164049823
ArtemESC
2006-11-20 22:10
2006.12.10
Как найти человека в Московской Области?


2-1164479897
Ramzes35
2006-11-25 21:38
2006.12.10
DBGrid


15-1163983409
Ру
2006-11-20 03:43
2006.12.10
Он-лайн переводчики сайтов. С русского на инглиш Подскажите?