Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Пример убитой формы / 22 сообщений из 22, страница 1 из 1
01.08.2018, 11:35
    #39681909
Joss
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пример убитой формы
После внесения изменений форма отказалась работать. Не помогло ни сжатие, ни декомпиляция, ни очистка от мусора, ни копирование в чистую базу.

Форму я сделал заново. А это пример испорченной формы. Может кто-нибудь найдёт способ с этим бороться? Так, небольшое развлечение на досуге.

-------------------------------------------------------------
А ты вложил уже свой кровный рубль в 50-ти миллиардное состояние Билла Гейтса?
...
Рейтинг: 0 / 0
01.08.2018, 11:38
    #39681911
Joss
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пример убитой формы
Да, забыл добавить. Преобразование в формат accdb так же не помогло. Работал в Access 2010.
...
Рейтинг: 0 / 0
01.08.2018, 12:02
    #39681925
ROI
ROI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пример убитой формы
Joss,

Ну сделал затрачено 10 минут с перекурами.
С уважением.
...
Рейтинг: 0 / 0
01.08.2018, 12:05
    #39681930
ROI
ROI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пример убитой формы
Joss,
...
Рейтинг: 0 / 0
01.08.2018, 12:14
    #39681936
zimkon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пример убитой формы
Joss,
А прикол в чём? И в исходном примере всё прекрасно. Форма открывается, кнопки, правда, с ошибками работают, как я понимаю, из-за отсутствующего общего модуля
...
Рейтинг: 0 / 0
01.08.2018, 12:24
    #39681939
Joss
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пример убитой формы
А как сделал? Чем? В какой версии Access?

Восстановить сначала эту форму просто, а У меня бывало рушились формы с полсотней элементов. И даже больше. Неужели вся проблема в вызове API? Но у меня есть формы с вызовом API и они работают без сбоев.
...
Рейтинг: 0 / 0
01.08.2018, 12:28
    #39681944
Joss
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пример убитой формы
zimkonJoss,
А прикол в чём? И в исходном примере всё прекрасно. Форма открывается, кнопки, правда, с ошибками работают, как я понимаю, из-за отсутствующего общего модуля
По идее общий модуль тут и не нужен. Описание API сидит в форме. После открытия формы даже простое её закрытие крестиком вызывает ошибку. Почему?
...
Рейтинг: 0 / 0
01.08.2018, 12:32
    #39681946
ROI
ROI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пример убитой формы
JossА как сделал? Чем? В какой версии Access?

Восстановить сначала эту форму просто, а У меня бывало рушились формы с полсотней элементов. И даже больше. Неужели вся проблема в вызове API? Но у меня есть формы с вызовом API и они работают без сбоев.
Все обьявы на API делаются всегда в отдельном модуле
Я открыл твою форму увидел ошибку в которой явно говорится о неправильном объявлении API
создал модуль перенес туда твои объявы скомпилировал без ошибок и выслал тебе.
С уважением/
...
Рейтинг: 0 / 0
01.08.2018, 12:35
    #39681949
ROI
ROI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пример убитой формы
JosszimkonJoss,
А прикол в чём? И в исходном примере всё прекрасно. Форма открывается, кнопки, правда, с ошибками работают, как я понимаю, из-за отсутствующего общего модуля
По идее общий модуль тут и не нужен. Описание API сидит в форме. После открытия формы даже простое её закрытие крестиком вызывает ошибку. Почему?
открой свой пример VBA и скомпилируй и увидешь ошибку потом перенеси скомпилируй и ошибка исчезнет.
С уважением.
...
Рейтинг: 0 / 0
01.08.2018, 12:38
    #39681952
ROI
ROI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пример убитой формы
Joss,

Все эти фокусы есть в книге Дан Эпплман "Win32 API и visual basic для профессионалов"
С уважением.
...
Рейтинг: 0 / 0
01.08.2018, 12:39
    #39681953
ROI
ROI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пример убитой формы
Joss,

У меня для API всегда отдельный модуль.
...
Рейтинг: 0 / 0
01.08.2018, 12:39
    #39681954
Joss
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пример убитой формы
ROIВсе обьявы на API делаются всегда в отдельном модуле
Я открыл твою форму увидел ошибку в которой явно говорится о неправильном объявлении API
создал модуль перенес туда твои объявы скомпилировал без ошибок и выслал тебе.
С уважением/
Я не помню о том, что объявление API обязательно надо делать в отдельном модуле. Где об этом можно прочитать?
Кстати, у меня был случай, когда программа отказывалась работать, если API было вынесено в отдельный модуль. Кажется в примере по анимации форм. А вот когда я его поместил в форму, всё отлично заработало.
...
Рейтинг: 0 / 0
01.08.2018, 12:50
    #39681961
ROI
ROI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пример убитой формы
JossROIВсе обьявы на API делаются всегда в отдельном модуле
Я открыл твою форму увидел ошибку в которой явно говорится о неправильном объявлении API
создал модуль перенес туда твои объявы скомпилировал без ошибок и выслал тебе.
С уважением/
Я не помню о том, что объявление API обязательно надо делать в отдельном модуле. Где об этом можно прочитать?
Кстати, у меня был случай, когда программа отказывалась работать, если API было вынесено в отдельный модуль. Кажется в примере по анимации форм. А вот когда я его поместил в форму, всё отлично заработало.
Не забывайте что модуль формы это модуль класса хотя и неполноценный
(то есть у класса есть ограничения именно у VBA Access)
С уважением.
...
Рейтинг: 0 / 0
01.08.2018, 12:52
    #39681963
Joss
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пример убитой формы
ROIJoss,

Все эти фокусы есть в книге Дан Эпплман "Win32 API и visual basic для профессионалов"
С уважением. За наводку спасибо. Почитаю.

Поэкспериментировал. Описание API можно помещать и в модуле и в форме (точнее модуле формы). Требование. Обязательно указывать в описании свойство PRIVATE . Иначе ошибка. А вот константы ОБЯЗАТЕЛЬНО должны быть в отдельном модуле. Вынес в отдельный модуль константу и всё заработало.
...
Рейтинг: 0 / 0
01.08.2018, 13:09
    #39681975
ROI
ROI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пример убитой формы
JossROIJoss,

Все эти фокусы есть в книге Дан Эпплман "Win32 API и visual basic для профессионалов"
С уважением. За наводку спасибо. Почитаю.

Поэкспериментировал. Описание API можно помещать и в модуле и в форме (точнее модуле формы). Требование. Обязательно указывать в описании свойство PRIVATE . Иначе ошибка. А вот константы ОБЯЗАТЕЛЬНО должны быть в отдельном модуле. Вынес в отдельный модуль константу и всё заработало.

http://www.sql.ru/forum/actualfile.aspx?id=21620896] Приложенный файл (Database13a.rar - 17Kb)
Вы совершенно правы из за предиктов Private Public все хитрости ну и зоны "видимости"
Вот есче ссылочка
http://www.utteraccess.com/wiki/Category:API
Выносите все объявы в отдельный модуль и не партесь.
API очень капризны не добавляйте себе проблем.
С уважением.
...
Рейтинг: 0 / 0
01.08.2018, 13:14
    #39681983
ROI
ROI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пример убитой формы
Joss,
Здесь в главе 15 разжевано про API
Скотт Ф. Баркер "Профессиональное проектирование в Access 2002"
С уважением.
...
Рейтинг: 0 / 0
01.08.2018, 13:16
    #39681987
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пример убитой формы
JossПоэкспериментировал. Описание API можно помещать и в модуле и в форме (точнее модуле формы). Требование. Обязательно указывать в описании свойство PRIVATE . Иначе ошибка. А вот константы ОБЯЗАТЕЛЬНО должны быть в отдельном модуле. Вынес в отдельный модуль константу и всё заработало.Исправил на приватную одну функцию (давно известный факт про классы). Всё. Более ничего не менял (кнопачки были перепутаны ещё, но это так...). Работает всё.

Вывод про константы неверен.
...
Рейтинг: 0 / 0
01.08.2018, 13:16
    #39681988
ROI
ROI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пример убитой формы
ROI,
сори опечатка
Скотт Ф. Баркер "Профессиональное программирование в Access 2002"
...
Рейтинг: 0 / 0
01.08.2018, 13:29
    #39682002
Joss
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пример убитой формы
ПанургИсправил на приватную одну функцию (давно известный факт про классы). Всё. Более ничего не менял (кнопачки были перепутаны ещё, но это так...). Работает всё.

Вывод про константы неверен. Согласен с Вами по обоим пунктам. И константы могут быть Private и описание функции API может быть Private.

Иногда это хорошо, когда собираешь программу из отлаженных "кубиков". Не смотришь, есть ли уже в общих модулях описание соответствующих функций и констант. Копируешь только форму, а в ней всё описано.
...
Рейтинг: 0 / 0
01.08.2018, 13:55
    #39682020
serendipityyy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пример убитой формы
Ну и как в итоге решили вопрос-то?
...
Рейтинг: 0 / 0
01.08.2018, 14:03
    #39682028
Joss
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пример убитой формы
serendipityyy, на счёт вопроса. Именно в этом случае всё дело было в неправильном описании функции API. Был пропущен предикт Private. Есть ссылки на документацию. Ясно, что делать в похожих случаях.

Но есть у меня где-то базы с похожими вылетами, но там API нет совсем. Поищу.
...
Рейтинг: 0 / 0
01.08.2018, 17:55
    #39682167
DarkMan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пример убитой формы
ROIJoss,
Здесь в главе 15 разжевано про API
Скотт Ф. Баркер "Профессиональное проектирование в Access 2002"
С уважением.
Это бородатый дядька , который почему то Гео не нравится.
Хорошая книга , мне она очень понравилась. !!!
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Пример убитой формы / 22 сообщений из 22, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]