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

Вниз

Невыход на точку останова во время отладки!!!   Найти похожие ветки 

 
terra0   (2004-06-10 20:09) [0]

Много лет программирую на Delphi, но наверное и на старуху бывает проруха.
В одной из своих программ недавно обнаружил глючок - неправильное определение переменной - не суть важно. Открываю проект, в процедуре (открытие hex-файла через OpenFileDialog) ставлю точку останова, запускаю на выполнение - и ничего программа пролетает точку останова, как будто ее нет. Возможно где-то в опциях отладчика или самого проекта, но я вроде все просмотрел - нормально. Даже Delphi переустановил с перепуга - результат тот-же.
Подскажите что делать?!!


 
lena19   (2004-06-10 20:22) [1]

поставить больше точек останова
настройки дельфи мона проверить простой прогой чем проще тем лучше


 
terra0   (2004-06-10 20:25) [2]

пробовал, хоть 5 штук, в простых прогах все нормально - хоть головой о стенку


 
Petr V. Abramov ©   (2004-06-10 20:25) [3]

Строку мог выкинуть оптимайзер - то есть просто не сгенерить для нее код


 
terra0   (2004-06-10 20:34) [4]

дело в том что я пробовал ставить на другие строки в теле функции - бесполезно!!! Вот кусок кода
procedure TFormMain.SpeedButtonOpenClick(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
 case OpenDialog1.FilterIndex of
  1: OpenHexFile(OpenDialog1.FileName);
  2: OpenBinFile(OpenDialog1.FileName);
 end;
end;
end;

function TFormMain.OpenHexFile(fName:string):Boolean;
var
a,b,btc,adr:Integer;
Memory:TMemoryStream;
str,stp:Boolean;
begin
ClearBuff;
StartTime:=Time;
Memory := TMemoryStream.Create;
try
 Memory.LoadFromFile(fName);
 Memory.ReadBuffer(pBuff,Memory.Size);
finally
 Memory.Free;
end;
a:=0;
str:=false;
stp:=false;
while a<Length(pBuff) do
begin
 if  pBuff[a]=ord(":") then
 begin
  btc:=StrToInt("$"+chr(pBuff[a+1])+chr(pBuff[a+2]));
  adr:=StrToInt("$"+chr(pBuff[a+3])+chr(pBuff[a+4])+chr(pBuff[a+5])+chr(pBuff[a+6]));
  if adr=0 then str:=true;
  if str then
  begin
   if (StrToInt("$"+chr(pBuff[a+7])+chr(pBuff[a+8])))=1 then stp:=true;
   if not(stp)then BuffLen:=adr+btc;
   for b:=0 to btc-1 do Buff[adr+b]:=StrToInt("$"+chr(pBuff[a+9+(b*2)])+chr(pBuff[a+9+(b*2)+1]));
  end;
 end;
 inc(a);
end;
ShowBuff;
ShowKey(1);
EditLAdr.Text:=IntToHex(BuffLen-1,6);
StopTime:=Time;
EditTime.Text:=TimeToStr(StopTime-StartTime);
result:=true;
end;//*

Ставлю в OpenHexFile (в любом месте) - бесполезно!!!
Хотя в теле функции ClearBuff - пожалуйста. Не знаю что делать.


 
Petr V. Abramov ©   (2004-06-10 21:19) [5]

А это все не в DLL случайно происходит?


 
pasha_golub ©   (2004-06-10 22:09) [6]

Уважаемый друг, бывает, что чужие компоненты изменяют кой-чего...

Короче, попробуйте вот что,
в начале проекта либо в начале модуля, проставте такие директивы:

{$D+} {$L+}

ЗЫ Я так делаю постояннно, но однако не знаю, какой именно компонент "облегчил" мне жизнь. Удачи :-)


 
RealRascal ©   (2004-06-10 22:54) [7]

проверьте, действительно ли выполнение алгоритма проходит через эту точку. Например, с помощью Showmessage()


 
Profi ©   (2004-06-10 23:17) [8]

Чтобы delphi понял точку, нужно запускать компилятор F4, а не F9!



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

Форум: "Основная";
Текущий архив: 2004.06.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.033 c
1-1087255495
Алекс А
2004-06-15 03:24
2004.06.27
Существуют ли простые библиотеки для проверки русской орфографии?


1-1087112610
AndersoNRules
2004-06-13 11:43
2004.06.27
F : Function : Extended;


8-1081527041
Андрей Арт
2004-04-09 20:10
2004.06.27
Звук


1-1087283351
AlexXn
2004-06-15 11:09
2004.06.27
BP и runtime


14-1086615768
Undert
2004-06-07 17:42
2004.06.27
PHP + GD problem....





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