Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > VBA (Excel) & .NET (проблемы с версиями Framework)


Автор: olgerd 16.11.2006, 16:34
Хай олл!

В экеселе на ВБА вызываю интерфейсные методы из ассэмбли (CalculationFlowRepository.dll)...
Референс в проекте на эту ассембли сделал... В дезайн тайме этот объект есть (его видно ОбжектБроузере и т.д.)... "Compile VBAProject" происходит успешно...
Но на этапе рантайма — при вызове оператора "New" (чтобы создать этот объект) возвращается ошибка:

Цитата

    File or assembly name CalculationFlowRepository, or one of its dependencies, was not found.



Кинул этот же код в ВБС проект (Microsoft Visual Basic 6.0)... Установил необходимый референс — и все нормально работает   smile 

Затем в 2005й студии приатачил процесс "EXCEL.EXE" (чтобы поймать эксепшн, который происходит при создании этого объекта) — то оказалось что эксель ищет этот CalculationFlowRepository.dll через ФреймВорк v1.1.4322, а ДОЛЖЕН смотреть на v2.0.50727  smile 

Все таки странно... 6я студия ищет эту ассэмбли через v2.0.50727... а эескль через v1.1.4322

Как это можно исправить? Что делать?  smile 

Автор: mihanik 17.11.2006, 08:38
Цитата(olgerd @  16.11.2006,  16:34 Найти цитируемый пост)
при вызове оператора "New" 



Код в студию!

Автор: olgerd 17.11.2006, 08:59
вот собственно этот код...
Код

'...
Dim FCF As CalculationFlowRepository.FormulaClientFactoryClass
Dim CM As CalculationFlowRepository.ClientManagerClass

    'Err.Number:      0
    'Err.Description: ""
    Set FCF = New CalculationFlowRepository.FormulaClientFactoryClass
    'Err.Number:      -2147024894
    'Err.Description: "File or assembly name CalculationFlowRepository, or one of its dependencies, was not found."
    Call FCF.CreateClient(ClientType_TYPE_MANAGER, CM)
    '...


ЗЫ повторюсь... в студийном проекте (ВБ 6.0) код работает замечательно...  smile 

Автор: olgerd 21.11.2006, 18:20
такс... "код в студии" не помог  smile  ну ниче...
--
в общемто... есть вот такая штучка office2003-KB907417-FullFile-ENU.exe (http://www.microsoft.com/downloads/details.aspx?familyid=1B0BFB35-C252-43CC-8A2A-6A64D6AC4670&displaylang=en)
после установки этого патча (на 2003й офис) — все заработало...

ЗЫ а до установки этого патча работали под экселем только сборки 1й версии...  smile 

хэхм... и шо теперь? вместе со своим софтом — теперь еще клиенту и патчи от мелкософта рассылать  smile 
 

Автор: mihanik 22.11.2006, 08:49
А ты пробовал всё объявлять через  Declare ?

С классами, правда я так не поступал...
Но с функциями и процедурами всё получается...


Автор: olgerd 22.11.2006, 11:22
2 mihanik
Цитата

А ты пробовал всё объявлять через  Declare ?

не-а... он же, кажись, не для этого предназначен...

ЗЫ попробуй у себя собрать асэмбли на 2005й (шото такое простенькое) и создай потом ее объект в Excel на VBA...
вот и увидишь тогда что без этого патча на офис (см. выше) работать ниче не будет...  smile 

Автор: mihanik 22.11.2006, 13:01
ОКИ!

Попробую!

Блин!
А у себя офис я уже пропатчил...
Ну, ничего!
На соседнем компе потом проверю...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)