Главная страница
    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.051 c
15-1174990027
eXPell
2007-03-27 14:07
2007.04.22
С чем это может быть связано?)


2-1175517371
annn
2007-04-02 16:36
2007.04.22
Процедуры и функции


1-1172567109
Тфьу
2007-02-27 12:05
2007.04.22
Создание библиотек bpl


2-1175240923
Gloomer
2007-03-30 11:48
2007.04.22
Указать в ADOQuery путь к файлу


4-1164296258
Вольный Стрелок
2006-11-23 18:37
2007.04.22
CreateProcess консольной программы





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