Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.04.20;
Скачать: CL | DM;

Вниз

Unassigned   Найти похожие ветки 

 
helpmepls   (2008-03-28 00:08) [0]

Я использую функцию поиска Excel. Она возвращает Variant.

qq:=Unassigned;
qq:=App.Cells.Find...

а вот дальше, если результата поиска нет, она возвращает адрес на $000000.

как написать верное условие на проверку полученного результата?
Что то вроде IsAssigned или что? Помогите пожалуйста..


 
Сергей М. ©   (2008-03-28 00:37) [1]


> возвращает адрес на $000000


Это как ?

Уж больно оно смахивает на "носит шляпу на панаму")


 
helpmepls   (2008-03-28 01:08) [2]


> Это как ?


Ну ладно... я не прально выразился.

Вопрос: как узнать что поиск не пустой?
мне приходится использовать щас try except с if VarToStr(qq)="" это непомерно тупо.. как правильно?


 
Германн ©   (2008-03-28 01:33) [3]

if qq = nil или if qq = Null не катит?


 
helpmepls   (2008-03-28 01:42) [4]


> Германн ©   (28.03.08 01:33) [3]


нет..

"Invalid variant operation"


 
Loginov Dmitry ©   (2008-03-28 07:41) [5]

VarIsEmpty() ?


 
Ega23 ©   (2008-03-28 08:15) [6]

if VarIsNull(v)


 
helpmepls   (2008-03-28 09:22) [7]


> Loginov Dmitry ©   (28.03.08 07:41) [5]


> Ega23 ©   (28.03.08 08:15) [6]


Да вот тоже нет. Возвращается в Variant вот что:

qq: $00000000


 
helpmepls   (2008-03-28 09:23) [8]

raised exception class EAccessViolation with message "Access violation at address 004751AB in


 
han_malign ©   (2008-03-28 12:15) [9]


> qq:=App.Cells.Find...

- попробуй пошагово
try
  cells = App.Cells;
except
end;
if( VarType(cells) = varDispatch ) then
  qq = cells.Find...

очень аккуратно с вложенными интерфейсами надо, обломать в любой точке может.

З.Ы. Кто бы знал, как заколебал - этот гребанный safecall...


 
palva ©   (2008-03-28 12:56) [10]

Вне зависимости от того какой подтип можно проверить с явным приведением к любому подтипу:
if TVarData(v).VInteger = 0 then ...
или даже так:
if TVarData(v).VDispatch = Nil then ...


 
helpmepls   (2008-03-28 13:06) [11]

Всем спасибо.
Использовал TVarData(v).VDispatch



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

Текущий архив: 2008.04.20;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.016 c
3-1196103500
Kley
2007-11-26 21:58
2008.04.20
подсчет стажа


2-1206704256
asdf2
2008-03-28 14:37
2008.04.20
Как вставить Blob-поле(текстовое) в InterBase?


15-1204929909
oxffff
2008-03-08 01:45
2008.04.20
Всех дам с 8 Марта поздравляем


2-1206463452
Strate
2008-03-25 19:44
2008.04.20
Несколько вопросов по сервисам начинающего


15-1204557221
Slider007
2008-03-03 18:13
2008.04.20
С днем рождения ! 3 марта 2008 понедельник