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

Вниз

Баг отладчика и побочный эффект с showmessage.   Найти похожие ветки 

 
oxffff ©   (2007-07-26 11:53) [0]

Не буду темнить.

Ковыряясь в исходниках я наткнулся на очень полезные функции.
Назовем их Fast Mem Alloc.
А находятся они здесь Grids и используются там же.

function StackAlloc(Size: Integer): Pointer; register;

StackAlloc allocates a "small" block of memory from the stack

procedure StackFree(P: Pointer); register;
StackFree pops the memory allocated by StackAlloc off the stack.

Вот упрощенный пример использования их функциональности

procedure a1;asm
pop eax;
sub esp,$10;
push eax;
end;

procedure a2;asm
pop eax;
add esp,$10;
push eax;
end;

procedure TForm1.Button1Click(Sender: TObject);
var a,b:integer;
begin
a1;
showmessage(inttostr(b));
showmessage(inttostr(a));
a2;
end;

Поставьте бряк на вызов a1. Запустите приложение и нажмите кнопку.  Далее нажмите на F8.
На showmessage вы не попадаете, хотя должны.Тоже самое на ASM коде при F8 на call a1

Это и есть выявленный недочет отладчика.



Теперь о странном эффекте showmessage


Продолжение здесь
http://delphimaster.net/view/1-1185435238/


 
oxffff ©   (2007-07-26 15:02) [1]

Здесь сообщение о недочете.
http://qc.codegear.com/wc/qcmain.aspx?d=49593


 
oxffff ©   (2007-07-27 08:53) [2]

Отчет получил статус Open.


 
Rouse_ ©   (2007-07-27 11:15) [3]

Дельфя какая? Под 2007 все отрабатывает как надо...


 
oxffff ©   (2007-07-27 11:23) [4]


> Rouse_ ©   (27.07.07 11:15) [3]
> Дельфя какая? Под 2007 все отрабатывает как надо...


Проверял на 7. На 2006 не проверял.

Вот добавление к отчету от sysop

Sysop OF: Reproduced with Delphi 2007.

Осталось выяснить кто прав.


 
Rouse_ ©   (2007-07-27 12:04) [5]

я не прав - не там бряк поставил... :)



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

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

Наверх




Память: 0.48 MB
Время: 0.02 c
15-1189006440
Denis_
2007-09-05 19:34
2007.10.07
Не получается решить уравнение:(


2-1188553610
MAXHo
2007-08-31 13:46
2007.10.07
Как добавить запись в конец таблицы?


4-1175864460
tytus
2007-04-06 17:01
2007.10.07
как получить доступ к кнопкам на панели задач?


15-1189409712
alsov
2007-09-10 11:35
2007.10.07
Большой набор данных в гриде


3-1180604459
Тфьу
2007-05-31 13:40
2007.10.07
Не происходит RefreshRecord в Oracle