|
|
|
IsMissing любит Variant, но не любит Long
|
|||
|---|---|---|---|
|
#18+
Имеем Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. в окне отладки : Код: plaintext 1. 2. 3. Это что за очередной прикол? Почему эта IsMissing любит варианты и не любит лонги? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2003, 14:10 |
|
||
|
IsMissing любит Variant, но не любит Long
|
|||
|---|---|---|---|
|
#18+
Читай хелп по этой функции там все написано ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2003, 14:20 |
|
||
|
IsMissing любит Variant, но не любит Long
|
|||
|---|---|---|---|
|
#18+
Наверно потому, что только Вариант может иметь значение Empty (не инициализировано), а все прочие (?), во всяком случае точно Long обязательно имеют значение по сути своей... Для решения подобной задачи сделай что-то вроде того: Function test2(Optional Variable1 As Long = -2147483647) As String где -2147483647 это заведомо никогда сознательно не передаваемое в функцию значение. Потом проверишь эту переменную на это значение... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2003, 14:24 |
|
||
|
IsMissing любит Variant, но не любит Long
|
|||
|---|---|---|---|
|
#18+
incold Ничего там не написано. "Функция IsMissing используется для проверки передачи аргументов в процедурах, имеющих необязательные аргументы. Функция IsMissing возвращает True, если в указанный аргумент не было передано значение; в противном случае возвращается False. Если для конкретного аргумента функция IsMissing возвращает значение True, то использование этого аргумента в других программных конструкциях может привести к возникновению определяемой пользователем ошибки. Для аргументов, описанных с ключевым словом ParamArray, функция IsMissing всегда возвращает False. Для обнаружения пустых элементов ParamArray, следует проверить, не задано ли для верхней границы массива значение, меньшее, чем для нижней границы." Ну и где тут сказано, что она только с вариантами нормально работает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2003, 14:26 |
|
||
|
IsMissing любит Variant, но не любит Long
|
|||
|---|---|---|---|
|
#18+
У меня такой хелп: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2003, 14:28 |
|
||
|
IsMissing любит Variant, но не любит Long
|
|||
|---|---|---|---|
|
#18+
Не сказано. Но это есть так. IsMissing = IsEmpty Long не может быть empty, сталбыть не может быть missing ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2003, 14:29 |
|
||
|
IsMissing любит Variant, но не любит Long
|
|||
|---|---|---|---|
|
#18+
incold Ну так это одно и то же. Написано, "Функция IsMissing возвращает True, если в указанный аргумент не было передано значение; в противном случае возвращается False" написав test(), я что, передал значение? Я что, должен кажую функцию проверять, в каких условиях она работает, а в каких - нет? В доке - одно, а на деле - другое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2003, 14:34 |
|
||
|
IsMissing любит Variant, но не любит Long
|
|||
|---|---|---|---|
|
#18+
Едал я эту собаку. Все что имеет определенный тип, такой, что переменная получает значение уже при объявлении (или инициализированно в предложении Optional каким-нить значением) никогда не бывает миссинг. пока не ткнешься лбом, не поймешь, что справка мелкософта (в данном случае Акс97) "верна приблизительно", но не верна "в принципе". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2003, 14:38 |
|
||
|
IsMissing любит Variant, но не любит Long
|
|||
|---|---|---|---|
|
#18+
Короче, все надо проверять, отовсюду может появиться западло :-( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2003, 14:41 |
|
||
|
IsMissing любит Variant, но не любит Long
|
|||
|---|---|---|---|
|
#18+
Напишу еще раз, но уже с форматированием как в хелпе Returns a Boolean value indicating whether an optional Variant argument has been passed to a procedure. Use the IsMissing function to detect whether or not optional Variant arguments... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2003, 14:42 |
|
||
|
IsMissing любит Variant, но не любит Long
|
|||
|---|---|---|---|
|
#18+
incold, ты б перевел, я ж тебе не лингвист, по-русски то иногда хрен поймешь, чего сказано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2003, 14:44 |
|
||
|
IsMissing любит Variant, но не любит Long
|
|||
|---|---|---|---|
|
#18+
2Varan >Короче, все надо проверять, отовсюду может появиться западло :-( Надо так: Короче, надо читать хелпы, а то может появиться западло :-( для тебя наверное удивительно будет, но если объявить переменную (например Dim l as long) не инициализируя оную, то она будет равна 0. вот ведь западло :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2003, 14:46 |
|
||
|
IsMissing любит Variant, но не любит Long
|
|||
|---|---|---|---|
|
#18+
Senin Viktor , Я прекрасно видел этот 0 в отладчике. Я о том, что Help по данному вопросу неверный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2003, 14:49 |
|
||
|
IsMissing любит Variant, но не любит Long
|
|||
|---|---|---|---|
|
#18+
Да я тоже не лингвист, но знаю, что если в хелпе что-то выделено жирным шрифтом, значит это служебные слова. Я понял справку так: Returns a Boolean value indicating whether an optional Variant argument has been passed to a procedure Возвращает логическое выражение, показывающее был ли передан в процедуру необязательный Variant параметр. Может я плохо понимать по английски. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2003, 14:50 |
|
||
|
IsMissing любит Variant, но не любит Long
|
|||
|---|---|---|---|
|
#18+
incold, А в моем Access моя справка стоит, а не твоя. И там про Variant ничего не написано За перевод - спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2003, 14:53 |
|
||
|
IsMissing любит Variant, но не любит Long
|
|||
|---|---|---|---|
|
#18+
Самое простое что можно сделать - это Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2003, 14:55 |
|
||
|
IsMissing любит Variant, но не любит Long
|
|||
|---|---|---|---|
|
#18+
Access XP Sp1 Кстати только что проверил такую вещь Код: plaintext 1. 2. 3. 4. Мне выдает True или False в зависимости от того указал я параметр или нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2003, 14:56 |
|
||
|
IsMissing любит Variant, но не любит Long
|
|||
|---|---|---|---|
|
#18+
Вот блин поторопился. Выдает всегда False Так что в справке все правильно. Это функцией корректно проверяются только Variant параметры ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2003, 14:58 |
|
||
|
IsMissing любит Variant, но не любит Long
|
|||
|---|---|---|---|
|
#18+
2incold а что у тебя выдаст при Call test(0) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2003, 14:59 |
|
||
|
IsMissing любит Variant, но не любит Long
|
|||
|---|---|---|---|
|
#18+
2 Senin Viktor Пока я писал опровержение своих слов, тебя уже стали терзать смутные сомнения ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2003, 15:02 |
|
||
|
IsMissing любит Variant, но не любит Long
|
|||
|---|---|---|---|
|
#18+
incold , Значит и в тоей доке - вранье, с моей точки зрания в таком варианте должна вообще генерироваться ошибка компиляции и говорить: "Нельзя эту функцию с Long использовать." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2003, 15:02 |
|
||
|
IsMissing любит Variant, но не любит Long
|
|||
|---|---|---|---|
|
#18+
2Senin Viktor прекрасно, что с течением времени некоторые формулировки справок мелкософта имеют тенденцию к повышению достоверности. Но повторяю, в Акс97 (справка по которому, кстати, организована не в пример лучше справки 2000, что демонстрирует нам и обратные тенденции) эта тема освещена не лучшим, с точки зрения достоверности формулировок, образом. Засим, утверждение "Короче, надо читать хелпы, ..." есть безосновательный (чтобы не сказать грубее, но точнее:) наезд. Лингвисты вы наши, еёна вошь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2003, 15:02 |
|
||
|
IsMissing любит Variant, но не любит Long
|
|||
|---|---|---|---|
|
#18+
И еще одно предложение из справки - непроскроллировал Note: IsMissing does not work on simple data types (such as Integer or Double) because, unlike Variants, they don't have a provision for a "missing" flag bit. Еще поработаю лингвистом. IsMissing не работает с простыми типами данных (...), потому что кроме Variants, у них отсутствует бит используемый для "missing" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2003, 15:09 |
|
||
|
IsMissing любит Variant, но не любит Long
|
|||
|---|---|---|---|
|
#18+
2 фыыф Так что наезд про справку вполне основательный ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2003, 15:11 |
|
||
|
|

start [/forum/topic.php?fid=45&fpage=1704&tid=1677580]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
28ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
| others: | 247ms |
| total: | 363ms |

| 0 / 0 |
