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

Вниз

Исправляем баги в 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.51 MB
Время: 0.039 c
9-1140081963
Древолаз
2006-02-16 12:26
2006.12.10
GL Scene Холм и Танк


15-1164262685
Elen
2006-11-23 09:18
2006.12.10
Пара вопросов


11-1140168494
tigra
2006-02-17 12:28
2006.12.10
memo1


2-1164138008
~Aid~
2006-11-21 22:40
2006.12.10
списки


15-1164108370
Elen
2006-11-21 14:26
2006.12.10
Вопрос о стандартах





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