[Ужос] Глупость в MSDN

Разговоры на любые темы: вы можете обсудить здесь какой-либо сайт, найти единомышленников или просто пообщаться...
GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

[Ужос] Глупость в MSDN

Сообщение GSerg » 06.04.2006 (Чт) 7:55

У нас на форуме время от времени в процессе обсуждения вопроса выкладываются фрагменты кода (к счастью, последний раз подобное было давно), где для обозначения специальной величины Null используется константа vbNull.

Константа vbNull, как и все энумированные константы, имеет тип Long, и равна единице. Она - одно из значений, которые может вернуть функция VarType. VarType(Null) = vbNull. VarType(Null) = 1.
Тем не менее, авторы подобных фрагментов настойчиво используют её в качестве самого Null.

Только что просматривал MSDN - искал, нет ли ограничений у контрола MSChart на максимальную величину точки данных (вопрос всплыл соответствующий на форуме). Поискал в KB, и о чудо - есть Q про MSChart. Q повествует о том, как отобразить на MSChart отсутствующее значение, т.е. Null. Для этого надо всего лишь указать NullFlag = True при вызове метода SetData, но... имеющий глаза да увидит, как реализована проверка того, нужно ли ставить этот флаг.
Попробуйте теперь в том коде вместо vArray(i, j) = Int((Rnd(10) + Rnd(10) * 10) * 10) написать vArray(i, j) = 1 (ну вот стабильный у вас доход, по 1 штуке в месяц, и вы хотите его нарисовать). Остальной код не меняйте.


С ужасом думаю, что само Писание и стало источником тупой ошибки, освещённой в двух первых абзацах...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 06.04.2006 (Чт) 8:14

Хм... Я всегда юзал WM_NULL, равную нулю...
Lasciate ogni speranza, voi ch'entrate.

gaidar
System Debugger
System Debugger
 
Сообщения: 3152
Зарегистрирован: 23.12.2001 (Вс) 13:22

Сообщение gaidar » 06.04.2006 (Чт) 13:22

GSerg, напиши подробно, типа маленькой статьи. Мы это опубликуем, плюс я еще пожалуюсь в VB Team.
The difficult I’ll do right now. The impossible will take a little while. (c) US engineers in WWII
I don't always know what I'm talking about, but I know I'm right. (c) Muhammad Ali

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 06.04.2006 (Чт) 13:43

Статью на неточность? :)
Типа "Вы пишите, что не надо писать Print Sin("30" * "3.14"), а сами пишите MsgBox Sin("30" * "3.14")" ? :)
Lasciate ogni speranza, voi ch'entrate.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 06.04.2006 (Чт) 13:45

Эх... Пойду разжёвывать, так и быть :)
Постскриптум уже сочинил :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 06.04.2006 (Чт) 14:08

Хотя Гайдар... имеется в виду VB6, ничё? :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас


Вернуться в Народный треп

Кто сейчас на конференции

Сейчас этот форум просматривают: Majestic-12 [Bot] и гости: 108

    TopList  
cron