Главная страница
    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.47 MB
Время: 0.041 c
2-1175256902
Alex_C
2007-03-30 16:15
2007.04.22
Указатель на открытый массив


15-1174656149
Andre_s
2007-03-23 16:22
2007.04.22
Жидкокристаллические 17"


2-1175605485
FIL-23
2007-04-03 17:04
2007.04.22
Как в вордоский документ вставить код программы?


2-1175473970
Wood
2007-04-02 04:32
2007.04.22
Поиск и вставка.


2-1175691550
КПД
2007-04-04 16:59
2007.04.22
Вопрос по DBComboBox





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