![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Unassigned [D6, XP]
helpmepls © (2008-03-28 00:08:00)Я использую функцию поиска Excel. Она возвращает Variant.
qq:=Unassigned;
qq:=App.Cells.Find...
а вот дальше, если результата поиска нет, она возвращает адрес на $000000.
как написать верное условие на проверку полученного результата?
Что то вроде IsAssigned или что? Помогите пожалуйста..
helpmepls (2008-03-28 13:06:00) [1]Всем спасибо.
Использовал TVarData(v).VDispatch
palva (2008-03-28 12:56:00) [2]Вне зависимости от того какой подтип можно проверить с явным приведением к любому подтипу:
if TVarData(v).VInteger = 0 then ...
или даже так:
if TVarData(v).VDispatch = Nil then ...
han_malign (2008-03-28 12:15:00) [3]
> qq:=App.Cells.Find...
- попробуй пошагово
try
cells = App.Cells;
except
end;
if( VarType(cells) = varDispatch ) then
qq = cells.Find...
очень аккуратно с вложенными интерфейсами надо, обломать в любой точке может.
З.Ы. Кто бы знал, как заколебал - этот гребанный safecall...
helpmepls (2008-03-28 09:23:00) [4]
raised exception class EAccessViolation with message 'Access violation at address 004751AB in
helpmepls (2008-03-28 09:22:00) [5]
> Loginov Dmitry © (28.03.08 07:41) [5]
> Ega23 © (28.03.08 08:15) [6]
Да вот тоже нет. Возвращается в Variant вот что:
qq: $00000000
Ega23 (2008-03-28 08:15:00) [6]
if VarIsNull(v)
Loginov Dmitry (2008-03-28 07:41:00) [7]VarIsEmpty() ?
helpmepls (2008-03-28 01:42:00) [8]
> Германн © (28.03.08 01:33) [3]
нет..
'Invalid variant operation'
Германн (2008-03-28 01:33:00) [9]
if qq = nil или if qq = Nullне катит?
helpmepls (2008-03-28 01:08:00) [10]
> Это как ?
Ну ладно... я не прально выразился.
Вопрос: как узнать что поиск не пустой?
мне приходится использовать щас try except с if VarToStr(qq)='' это непомерно тупо.. как правильно?
Сергей М. (2008-03-28 00:37:00) [11]
> возвращает адрес на $000000
Это как ?
Уж больно оно смахивает на "носит шляпу на панаму")