Календарь MSAccess - почему не работает после установки?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Rojohn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 439
Зарегистрирован: 22.06.2005 (Ср) 11:00
Откуда: Moscow city

Календарь MSAccess - почему не работает после установки?

Сообщение Rojohn » 10.03.2006 (Пт) 15:46

Добрый день!
Очень поганая ситуация получилась у меня с календарем MSAccess 2000 (mscal.ocx). В своём проекте наставил везде этих календарей, сделал дистрибутив и... на другой машине календарь выходит криво! Обычно показывает пустые ячейки вместо чисел. Пробовал ставить вручную этот OCX, регистрировать - всё бестолку. Точнее помогло, но не на всех машинах. На одной (Win2000+Office2000) так и не заработал. Перепробовал всё мне известное. Может кто сталкивался с этим контролом и знает как его грамотно заделать в дистрибутив, чтобы поставился на любой машине с любым офисом?
Очень нужна ваша помощь, т.к. проект пора сдавать, и переделывать на другой контрол вообще некогда!
Спасибо за ответы!

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 10.03.2006 (Пт) 16:16

почитай лицензионное соглашение, там мелкософт пишет, что этот контрол можно юзать только в составе конкретного офиса

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 10.03.2006 (Пт) 16:22

Переделывай полюбому. Займет максимум два дня. А если воспользуешься алгоритмом рисования моего из "Кирпичей", то еще сэкономишь время на избретении велосипеда. А как внутри работает микрософтовский календарь никому не известно, да и переписывается походу вместе с каждой версией офиса.
Лучший способ понять что-то самому — объяснить это другому.

Rojohn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 439
Зарегистрирован: 22.06.2005 (Ср) 11:00
Откуда: Moscow city

?

Сообщение Rojohn » 10.03.2006 (Пт) 16:23

Konst_One
А что тогда делать? Чем его заменить?

Rojohn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 439
Зарегистрирован: 22.06.2005 (Ср) 11:00
Откуда: Moscow city

?

Сообщение Rojohn » 10.03.2006 (Пт) 16:25

Antonariy
Это календарь на API? Он полностью работоспособен и без глюков?

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 10.03.2006 (Пт) 16:26

Вспомнил тут: офис таскает с собой несколько собственных шрифтов, попробуй включить в дистрибутив шрифты с того, который юзал. За корректную работу остальных офисов при замене шрифта не отвечаю :D
Лучший способ понять что-то самому — объяснить это другому.

Rojohn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 439
Зарегистрирован: 22.06.2005 (Ср) 11:00
Откуда: Moscow city

Сообщение Rojohn » 10.03.2006 (Пт) 16:30

Antonariy
А где они лежат?
А что насчёт твоего класса? Он что использует (шрифты и т.д.)?

З.ы. Конечно, ломать всем офисы не хотелось бы)

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 10.03.2006 (Пт) 16:31

Это календарь на API? Он полностью работоспособен и без глюков?
http://bbs.vbstreets.ru/viewtopic.php?t=19398
Я сказал "алгоритмом", а не "календарем". Он внешне сильно отличается от mscal :wink:
Лучший способ понять что-то самому — объяснить это другому.

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 10.03.2006 (Пт) 16:33

Rojohn
лучше написать свой, мы в свое время долго мучались с этим контролом, то работает - то не работает . вот одна фича, если ставить ocx от английского офиса (мы юзали 97 акцесс тогда), то он у нас работал на всех компах, не важно какой офис на них стоял.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 10.03.2006 (Пт) 16:34

А где они лежат?
Поиск *.ttf по папке дистрибутива офиса рулит :)
Лучший способ понять что-то самому — объяснить это другому.

Alexanbar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1727
Зарегистрирован: 13.04.2004 (Вт) 23:04
Откуда: Волгоградская обл.

Сообщение Alexanbar » 10.03.2006 (Пт) 16:42

1) Советую включить mscal.ocx от Office-97
2)
Код: Выделить всё
Private Sub Form_Load()
With Calendar1
    .GridFont.Size = 12
    .GridFont.Name = "Arial Cyr"
    .GridFont.Italic = True
    .MonthLength = 0
    .FirstDay = 1
    .DayLength = 1
    .DayFont.Size = 9
    .DayFont.Name = "Times New Roman Cyr"
    .TitleFont.Name = "Arial Cyr"
    .TitleFont.Size = 9
   
End With

Rojohn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 439
Зарегистрирован: 22.06.2005 (Ср) 11:00
Откуда: Moscow city

?

Сообщение Rojohn » 10.03.2006 (Пт) 16:52

1) Никто не кинет mscal.ocx от 97-го MSOffice?
2) А он точно установится на другие машины? Куда его ставить в System32 или в папку Office (Program Files)? А есть ещё и Office10 для XP... Просто пробовал ставить только в System32 - не работал, заработал только когда поставил в Office (mscal.ocx от 2000). Даже сделал BAT файл для замены. Но на том злополучном компе он не заработал даже тогда, когда везде уже стояли нужные версии календаря. Предполагаю, что его работоспособность зависит ещё от версии MDAC-а...

Rojohn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 439
Зарегистрирован: 22.06.2005 (Ср) 11:00
Откуда: Moscow city

!

Сообщение Rojohn » 10.03.2006 (Пт) 17:02

Alexanbar
Огромное спасибо за установки для шрифтов! На этой злосчастной машине всё установилось... На других незнаю... Библиотеку пока взял от 2000-го Access

Спасибо всем за подсказки! Если кто выложит mscal.ocx от Office97 - вообще будет здорово! Ещё только бы понять, куда его класть? А то я пока меняю новую версию на старую в папке Office(10)...

Rojohn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 439
Зарегистрирован: 22.06.2005 (Ср) 11:00
Откуда: Moscow city

?

Сообщение Rojohn » 10.03.2006 (Пт) 19:57

Alexanbar
А почему именно "Times New Roman Cyr" ? Он есть на всех машинах или просто это ИМХО? А что насчёт "Arial Cyr"? Странно, вроде по умолчанию всё этим шрифтом, но без ручных установок не показывает.

Antonariy
Пробовал запустить на Win2000, но он сказал, что нехватает кажется uxtheme.dll. Запустился только в WinXP. В чём дело? Да и вид у него календаря, от которого я отказался, т.к. надо листать всё по месяцам.
Конечно, может я не так понял, там ещё что-то можно вводить вручную. Ещё потестю как время будет...

Alexanbar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1727
Зарегистрирован: 13.04.2004 (Вт) 23:04
Откуда: Волгоградская обл.

Сообщение Alexanbar » 11.03.2006 (Сб) 15:05

Шрифт - это просто мне так понравилось. Естественно, не стоит выбирать к-либо экзотический шрифт. Важно просто при загрузке указать все параметры шрифтов.
Если на другом компе этот каландарь не использовался, этот чудило, как я понял, не может догадаться, какие праметры шрифта взять, и берёт самый маленький шрифт.

А заменять один контрол на другой у себя на компе не стоит. Зарегистрируй оба, поместив их в разные каталоги, но в проекте используй один.

Кстати, там ещё есть какой-то глюк в 11й версии с предустановкой даты или года.
Вложения
MSCAL.zip
Версия 9 mscal.ocx
(43.96 Кб) Скачиваний: 33

Rojohn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 439
Зарегистрирован: 22.06.2005 (Ср) 11:00
Откуда: Moscow city

?

Сообщение Rojohn » 11.03.2006 (Сб) 15:49

Так может тогда вообще не менять файлы, может этих предустановок будет достаточно? Если нет, то куда писать этот ocx (за который отдельный респект), если он всё равно берет его из Program Files\Microsoft Office\Office (10) ? Получается всё ж придётся ломать календари офисов на компах, да и от версии установленных MSDataAccessComponents (MDAC.exe) зависит. Я пробовал ставить mscal.ocx от 2000-го офиса на машину с mdac более высокой чем 2.5 версией - календарь не работал. Он заработал только, когда я поставил версию mscal.ocx от 2003 (или XP) офиса в папку офиса.

Alexanbar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1727
Зарегистрирован: 13.04.2004 (Вт) 23:04
Откуда: Волгоградская обл.

Сообщение Alexanbar » 11.03.2006 (Сб) 22:47

Новую на старую менять не надо. Просто в дистриб внести старую версию, и проверять в процессе установки, не требуется ли обновление до 9-й версии, а фактически, есть ли этот файл вообще.
И в проекте указать 9-ю версию компонента, и с ней компилировать. Тогда и в w98 будет работать с office97.


Вернуться в Visual Basic 1–6

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 30

    TopList