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

Вниз

There is no overloaded version of FindNode that can be called w   Найти похожие ветки 

 
Solo ©   (2007-04-02 17:17) [0]

вот участок кода:

 if TopNode.ChildNodes["SPRV"].ChildNodes.FindNode(SprNodeMnem) = nil then //Здесь FindNode срабатывает
 begin
   Result := False;
   Exit; //И выходим из проверки - все нормально
 end else //А если эта ячейка должна-а-а-а быть справочной
 begin
   SprNode := TopNode.ChildNodes["SPRV"].ChildNodes[SprNodeMnem];
   SprNodeName := SprNode.ChildNodes.First.Text;
 if SprNode.ChildNodes.FindNode[LookedNum] = nil then
   begin //Здесь FindNode дает ошибку!!!!!! Почему?
     Err:= "Показатель ""+Grid.Cells[c, r]+"" отсутствует в справочнике ""+ SprNodeName +""";
     LogErr(Err, IntToStr(r), IntToStr(c), 0);
   end else
   begin
     ShowMessage("Справочная ячейка "+SprNode.NodeName+" равна "+SprNode.ChildNodes[LookedNum].NodeName);
     Result := False;
   end;
 end;

end;


Компилер дает ошибку:
Error] Unit1.pas(449): E2250 There is no overloaded version of "FindNode" that can be called with these arguments
НО КАК ЖЕ ТАК? Ведь LookedNum - строковый аргумент... К тому же в первом случае ошибки нет, а во-втором почему-то No Overloaded?


 
Desdechado ©   (2007-04-02 17:23) [1]

> FindNode[LookedNum]
> FindNode(SprNodeMnem)
Разницу видишь?


 
solo ©   (2007-04-02 17:37) [2]

И то и другое - стрингового типа. Вот полный код

//--получить соответствие показателя справочнику--------------------------------
function TForm1.GetErrSprv(r, c: Integer): Boolean; //Если False - все нормально
var //SprType: Boolean; // true - справочный, false - обычный
   SprNodeMnem, LookedNum, //мнемоническое имя нода с показателем, его имя,
   SprNodeName, Err: string; //содержимое проверяемой ячейки и текст ошибки
   TopNode, SprNode: IXMLNode;
begin
 Result := True; //Инициализация - как ошибка
// сначала определяем, имеет ли показатель справочный тип
 SprNodeMnem := GetPokNodeName(r, c);
//  ShowMessage(SprNodeMnem);
 LookedNum := "n"+Grid.Cells[c, r];
 LookedNum := strtst(LookedNum, ""!<>\/()& ", 2);
 TopNode := XMLDoc.DocumentElement;
//  SprType := True; //Инициализация - пусть будет справочный тип
 if TopNode.ChildNodes["SPRV"].ChildNodes.FindNode(SprNodeMnem) = nil then
 begin
   Result := False;
   Exit; //И выходим из проверки - все нормально
 end else //А если эта ячейка должна-а-а-а быть справочной
 begin
   SprNode := TopNode.ChildNodes["SPRV"].ChildNodes[SprNodeMnem];
   SprNodeName := SprNode.ChildNodes.First.Text;
 if SprNode.ChildNodes.FindNode[LookedNum] = nil then
   begin
     Err:= "Показатель ""+Grid.Cells[c, r]+"" отсутствует в справочнике ""+ SprNodeName +""";
     LogErr(Err, IntToStr(r), IntToStr(c), 0);
   end else
   begin
     ShowMessage("Справочная ячейка "+SprNode.NodeName+" равна "+SprNode.ChildNodes[LookedNum].NodeName);
     Result := False;
   end;
 end;

end;


 
Desdechado ©   (2007-04-02 17:40) [3]

Массив от списка параметров отличаешь?


 
solo ©   (2007-04-02 17:40) [4]

Ой блиииин... Допер...
Что-то я к концу дня туплю. Кстати, если не сложно, объясните разницу м/у [ и ( - почему в одном случае так, а в другом эдак...


 
solo ©   (2007-04-02 17:41) [5]

Все. Спасибо большое, допер. Позор мне :-)))) Елки -палки, три дня имелся с этим... Все выходные убил. Спасибо



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

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

Наверх





Память: 0.46 MB
Время: 0.04 c
15-1174847687
RASkov
2007-03-25 22:34
2007.04.22
Нужно срочно


8-1155043506
Yastreb
2006-08-08 17:25
2007.04.22
Запуск файла в Winamp


15-1174956277
Бакук
2007-03-27 04:44
2007.04.22
Хранение форм


11-1154888270
Александра
2006-08-06 22:17
2007.04.22
OnFocus для EditBox


2-1175751344
vitv
2007-04-05 09:35
2007.04.22
Переброска данных с одной базы в другую





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