Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Что-то глючит, AV непонятно-плавающий. [D7, XP]


12 ©   (2010-08-05 11:30:00) 

написал
     
         for i := 0 + sgView.FixedRows to sgView.RowCount - 1 do
         begin
            if TryToNumber(sgView.Cells[WorkCol,i], sTmp)
             then sgView.Cells[WorkCol,i] := sTmp;           // AV!!
         end;

Function TryToNumber(const S:String; Var SS:string):Boolean;
var
 F: double;
begin
 Result := True;
 SS := S;
 SS := StringReplace(SS,'.',DecimalSeparator,[rfReplaceAll]);
 SS := StringReplace(SS,',',DecimalSeparator,[rfReplaceAll]);
 SS := StringReplace(SS,'/',DecimalSeparator,[rfReplaceAll]);
 SS := StringReplace(SS,'?',DecimalSeparator,[rfReplaceAll]);
 SS := StringReplace(SS,'<',DecimalSeparator,[rfReplaceAll]);
 SS := StringReplace(SS,'>',DecimalSeparator,[rfReplaceAll]);
 SS := StringReplace(SS,'б',DecimalSeparator,[rfReplaceAll]);
 SS := StringReplace(SS,'ю',DecimalSeparator,[rfReplaceAll]);
 SS := StringReplace(SS,'Б',DecimalSeparator,[rfReplaceAll]);
 SS := StringReplace(SS,'Ю',DecimalSeparator,[rfReplaceAll]);
 if not TextToFloat(PChar(SS), F, fvExtended) then
 begin
   Result := false;
   SS := '';
 end;
end;

----------------------
написал
     2:begin //цена
         for i := 0 + sgView.FixedRows to sgView.RowCount - 1 do
         begin
           if TryToNumber('5*88',sTmp) then ShowMessage(sTmp);
           if TryToNumber('11.33',sTmp) then ShowMessage(sTmp);
нормально, выдает(2) или нет(1) окошко

написал, как было
     
         for i := 0 + sgView.FixedRows to sgView.RowCount - 1 do
         begin
            if TryToNumber(sgView.Cells[WorkCol,i], sTmp)
             then sgView.Cells[WorkCol,i] := sTmp;      
         end;

нет AV!!!

Вчера тоже самое было в другом случае, ну, что-то аналогичное


Anatoly Podgoretsky   (2010-08-05 15:12:00) [1]

> 12  (05.08.2010 14:56:05)  [5]

Не хотел верить мне.


12   (2010-08-05 14:56:00) [2]

WorkCol сделал свойством на WC
property WorkCol:integer read GetWC write SetWC;

WC на создании формы сделал = -1

function TfrmNewPrice.GetWC: integer;
begin
 if WC = -1 then Exception.Create('WC = -1 !!!');
 Result := WC;
end;

пока ничего, ошибка так и не появляется


Anatoly Podgoretsky   (2010-08-05 11:58:00) [3]

> 12  (05.08.2010 11:52:03)  [3]

Я еще раз говорю, что неизвестен и живет сам по себе. Ничего о нем до
момента использования неизвестно.


12   (2010-08-05 11:52:00) [4]

первым делом туда слазил

под отладчиком все верно:WorkCol известен, sTmp вернулся
вообще, ошибку повторить уже не удается

но она была же ...


Anatoly Podgoretsky   (2010-08-05 11:38:00) [5]

WorkCol неизвестное значение.


Игорь Шевченко   (2010-08-05 11:34:00) [6]

предлагаешь поработать за тебя отладчиком ? а денег хватит на оплату ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо