:: Игры Разума
Головоломка
dar
Автор

Сообщений: 543
Дата регистрации: 09.02.2005
Как-то обещал кинуть вам интересную штучку, затрагивающую несколько тем. Темы такие: 1) Совместимость версий; 2) Использование собственных контролов взамен стандартно предоставляемых Фоксом; 3) еще одна, забыл какая.
Код не мой, прошу меня ногами не пинать, равно как и обратное. Мне очень понравилось выражение, высказанное одним форумчанином об этом примере: «Ломовой код. Сам черт ногу сломит» forum.foxclub.ru. Уж не знаю, сознательно ли старался автор этого кода так нарисовать столь запутанную картину или нет - судить вам.

Так вот. Там есть два откомпилированных экзешника, один под 6-й версией, другой под 8-й. Ну и конечно исходники, чтобы вы смогли разобраться. Екзешник 6 версии - пример как должно работать.
В чем головоломка? В том, что экзешник 6-й версии работает, как и задумывалось: заполняет текстбоксы или что там вместо них информацией из справочников КЛАДР, а вот экзешник 8-й версии Фокса работает странно, периодически вываливаясь с ошибкой достижения конца базы данных или не показывая нужное.
С целью уменьшения веса КЛАДР, в нем оставлен один район - Ивановский. Все равно архив получился 571 Kb. Поэтому кидаю частями

Уважаемые знатоки! Потребуется ли вам минута, чтобы дать ответ: почему один и тот же код дает в разных версиях столь разное поведение?



Исправлено 3 раз(а). Последнее : dar, 20.03.09 06:19
Ratings: 0 negative/0 positive
Re: Головоломка
dar
Автор

Сообщений: 543
Дата регистрации: 09.02.2005
Первые две части. Жаль что вложения такого малого размера. Хоть бы до 1 Mb увеличили. Ну да ладно и на том спасибо



Исправлено 1 раз(а). Последнее : dar, 20.03.09 04:32
Ratings: 0 negative/0 positive
Re: Головоломка
dar
Автор

Сообщений: 543
Дата регистрации: 09.02.2005
Третья, четвертая часть
Ratings: 0 negative/0 positive
Re: Головоломка
dar
Автор

Сообщений: 543
Дата регистрации: 09.02.2005
5, 6 части
Ratings: 0 negative/0 positive
Re: Головоломка
dar
Автор

Сообщений: 543
Дата регистрации: 09.02.2005
7,8 части
Ratings: 0 negative/0 positive
Re: Головоломка
dar
Автор

Сообщений: 543
Дата регистрации: 09.02.2005
9,10 части
Ratings: 0 negative/0 positive
Re: Головоломка
dar
Автор

Сообщений: 543
Дата регистрации: 09.02.2005
уф, и последние 11, 12 части
Ratings: 0 negative/0 positive
Re: Головоломка
akvvohinc

Сообщений: 4219
Откуда: Москва
Дата регистрации: 11.11.2008
config.fpw с codepage=1251 положите в папку и 8-ка не будет валиться, а правильно искать.
6-ка и 9-ка справляются и без этого, а 7-ка и 8-ка с индексами работают чуть иначе. Только 9-ка начала правильно работать с индексами, содержащими нулевые байты в ключе (на 6-ке не проверял). Здесь, конечно, никаких нулевых байтов нет, но все вопросы "почему в разных версиях разные требования к индексам?" - к авторам, я не знаю.



Исправлено 2 раз(а). Последнее : akvvohinc, 20.03.09 08:34
Ratings: 0 negative/0 positive
Re: Головоломка
dar
Автор

Сообщений: 543
Дата регистрации: 09.02.2005
У-гумс Знали ответ? Два года назад ответа не было... У меня он нашелся чисто случайно, когда потребовалось визуализировать dbf в 866-кодировке. А так довольно долго ломал себе голову, "роя" код. Потом бросил... Но недавно нашел ответ и вспомнил про этот "ломовой код", который как оказалось совершенно ни при чем.



Исправлено 1 раз(а). Последнее : dar, 20.03.09 09:50
Ratings: 0 negative/0 positive
Re: Головоломка
akvvohinc

Сообщений: 4219
Откуда: Москва
Дата регистрации: 11.11.2008
Ответа не знал, просто нашел строчку, на которой валится. При отладке в исходниках (когда запуск 8-ки из Program Files) SEEK по OKSM работает (так как цепляется мой config.fpw), а в EXE - не работает. Это и привело к мысли посмотреть, что со средой. И в ДОСе, и до 9-ки мне часто приходилось "бороться" с индексами, так что этот опыт здесь пригодился.
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 4 (Гостей: 4)

© 2000-2024 Fox Club 
Яндекс.Метрика