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

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

Написал функцию, возвращающую логическое значение. Пытаюсь [D7, XP]


Michael5 ©   (2005-11-03 23:07:00) 

ее применить - ничего не получается!

Вот функция:
//Функция проверки, существует ли в столбце colName строка text.
//Как только значение в таблице найдено, происходит exit с Result'ом,
//равным true
function TKP.exsistIn(colName, text: string): boolean;
var x:integer;
begin
Result:=false;
OverviewADOTable.First;
for x:=1 to OverviewADOTable.RecordCount do begin
 if OverviewADOTable.FieldByName(colName).Value=text then begin
   Result:=true;
   exit;
 end;
OverviewADOTable.Next;
end;
Result:=false;
end;


Вот я ее применяю:

procedure TKP.ApplyClick(Sender: TObject);
tmp:boolean;
begin

tmp:=exsistIn('имя шкафа', ComboBox4.Text);
if exsistIn('имя шкафа', ComboBox4.Text) then
tmp:=true;
...


и т.д. Суть в том, что на строках с переменной tmp отладка неактивна (не пойму, почему, ведь это такая же переменная, как и все), а если смотришь содержимое переменной tmp в watch, то там написано: variable 'tmp' inacessible here due to optimization...

Чего-то ни черта не понимаю, где ж я не прав???
Подскажите пожалуйста!


Anatoly Podgoretsky   (2005-11-04 12:32:00) [1]

Ну дубли операций не только там, но и двойной вызов функции.
А по поводу сообщения, все нормально, не надо просто смотреть ее в отладичике и всего, она или не доступна там или вообще выкинута за ненадобность.

Эта строка if exsistIn('имя шкафа', ComboBox4.Text) then tmp:=true;лишняя, она ничего не делает.


umbra   (2005-11-04 10:22:00) [2]

Зачем в ExistsInдва раза присваивать Result := false?


Zeqfreed   (2005-11-03 23:20:00) [3]

Michael5   (03.11.05 23:07)
Т.к. ты нигде ниже по коду не используешь переменную tmp - строки просто-напросто не скомпилировались и не были включены в исполнимый модуль, due to optimization.


Michael5   (2005-11-03 23:10:00) [4]

var потерял в процедуре ApplyClick...


Наверх

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