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

Вниз

Баги в Delphi7   Найти похожие ветки 

 
Goida ©   (2004-04-23 11:16) [0]

Кто-нибудь знает о каких-нибудь багах в этой версии Д?


 
Anatoly Podgoretsky ©   (2004-04-23 11:31) [1]

Борланд знает


 
Goida ©   (2004-04-23 11:34) [2]

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


 
uny   (2004-04-23 11:38) [3]

багов нет, что вы, она идеальная:)


 
Goida ©   (2004-04-23 11:44) [4]

Так уж и нет... В любой программе есть ошибки!


 
Fredericco ©   (2004-04-23 11:51) [5]

Если баги и есть, то всегда есть способ их обойти.


 
Паниковский ©   (2004-04-23 11:52) [6]

Goida
ищите и обрящите


 
uny   (2004-04-23 11:56) [7]

если искать, то что то хорошее


 
Матлабист   (2004-04-23 12:44) [8]


> Я спросил, потому что один из моих товарищей сказал, якобы
> у седьмого баг в работе с динамической памятью.


В Delphi 7 в работе с динамической памятью был разве только пофиксен один (незначительный) баг: (при выделении блока размеров 2 Гб минус несколько байт) можно быль получить блок в 12-ть байт. В остальном работа с памятью не отличается от Delphi 6, Delphi 5. Кроме того, можно поставить любой менеджер памяти по своему усмотрению. Лично мне найти какой либо баг не удалось ;)

http://rsdn.ru/article/Delphi/memmanager.xml

По поводу бага. Размер блока выравнивался ранее (GetMem.inc, Delphi 5) по алгоритму


function SysGetMem(size: Integer): Pointer;

.................

   Inc(size, sizeof(TUsed) + (cAlign-1));
   size := size and not (cAlign-1);
   if size < sizeof(TFree) then
     
size := sizeof(TFree);


Откуда, если размер оказывался, например, $7FFFFFFF байт, то после Inc (сAlign=4) получалось $80000002 байта, потом после and получалось $80000000 байт (что соответствовало -2147483648). Естественно это меньше чем SizeOf(TFree) = 12 байт. Поэтому выделялся блок в 12-ть байт ;)


 
Матлабист   (2004-04-23 12:56) [9]

Ну и если тебе будет легче, то в Delphi 6 следующий код приводил к Internal error (пишу по памяти):

program Test;

uses Windows;

type
 
TEnum = (e1, e6=6);

 TSomeClass = class(TPersistent)
 private
   
FMyEnum: TEnum;
 published
   
MyEnum: TEnum read FMyEnum write FMyEnum;
 end;

begin
 with
TSomeClass.Create do Free;
end.


И еще... В Delphi 6 появилась возможность делать свое представление для помощи по F1... Так вот, так где-то при регистрации своей системы помощи, возникала ошибка, связанная с тем, что цикл поиска и удаления системы был от 0 до N-1, а не от N-1 до 0. D6 нет, поэтому сказать точно не могу...


 
VMcL ©   (2004-04-23 13:46) [10]

>>Матлабист  (23.04.04 12:56) [9]

program Test;

uses
 Windows, Classes;

type
TEnum = (e1, e6=6);

TSomeClass = class(TPersistent)
private
  FMyEnum: TEnum;
published
  property MyEnum: TEnum read FMyEnum write FMyEnum;
end;

begin
with TSomeClass.Create do Free;
end.


Delphi 6.240 (Update Pack 2) - всё ОК.


 
Матлабист   (2004-04-23 15:13) [11]

Это было сразу после выхода версии D6 без патчей...


 
Amoeba ©   (2004-04-23 15:40) [12]

Давно уже существует специальный сайт, посвященный bug"ам в Delphi (все версии):
http://buglist.jrsoftware.org/



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

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

Наверх




Память: 0.49 MB
Время: 0.025 c
4-1080579766
BorH
2004-03-29 21:02
2004.05.16
Список автозагрузки


11-1068963064
Ciber SLasH
2003-11-16 09:11
2004.05.16
Тормоза в PaintBox e


14-1082229038
SeriousSam
2004-04-17 23:10
2004.05.16
очените прогу!


1-1083688226
KillOfCats
2004-05-04 20:30
2004.05.16
FastReports


14-1083172924
Yanis
2004-04-28 21:22
2004.05.16
Почему закрыто обсуждение?