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

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.045 c
2-1206081072
Wint
2008-03-21 09:31
2008.04.20
Как считать данные из файла побитно??


3-1195787083
magistr_yoda
2007-11-23 06:04
2008.04.20
Какую БД и компоненты использовать, для работы без BDE


2-1206603785
AlexeyMir
2008-03-27 10:43
2008.04.20
Locate,LocateNext в Interbase


2-1206529994
saNat
2008-03-26 14:13
2008.04.20
Ошибка при создании записи, одно из полей которой пусто.


15-1204961097
buzb
2008-03-08 10:24
2008.04.20
Где реально можно найти работу для программиста на delphi?





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