Модераторы: diadiavova, gambit

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> объявление API, не пойму что делаю не так 
:(
    Опции темы
efedron
Дата 11.7.2006, 09:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 135
Регистрация: 16.3.2005

Репутация: нет
Всего: 4



Господа, подскажите что делаю не так:
Мне нужно инициализировать API одного приложения, в документации сказано:
Код

Получаем указатель на объект TFDDocsApp. Фн. Instance() - статическая и при любом количестве ее вызовов, всегда возвращает указатель на один и тот-же объект в памяти.

m_spApi = tfdAPI::TFDDocsApp::Instance();

Весь API находится в библиотеке tfdapi8.dll, добавляю ее в референс, потом пишу:
Код

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim m_api As Object
        m_api = tfdAPI.TFDDocsApp.Instance
    End Sub

при запуске возникает ошибка:
An unhandled exception of type 'System.IO.FileNotFoundException' occurred in system.windows.forms.dll
в дополнительной информации:
Unhandled Exception: System.IO.FileNotFoundException: File or assembly name tfdapi8, or one of its dependencies, was not found.
File name: "tfdapi8"

подскажите, в чем проблема? 
--------------------
Прежде чем совершить акт разрезания определенной материи целесообразно удостовериться в правильности всех произведенных измерений.
PM MAIL   Вверх
ivashkanet
Дата 11.7.2006, 09:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 5
Всего: 149



Цитата(efedron @  11.7.2006,  09:37 Найти цитируемый пост)
File or assembly name tfdapi8, or one of its dependencies, was not found

Эта dll-ка должна лежать в папку с прогой.
Проверь, так ли это. Если нет, то в свойствах референса есть опция CopyLocal. Поставь ее в True  smile   
PM MAIL WWW ICQ   Вверх
efedron
Дата 11.7.2006, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 135
Регистрация: 16.3.2005

Репутация: нет
Всего: 4



ivashkanet
Цитата

Эта dll-ка должна лежать в папку с прогой.

при компилляции она действительно кладется рядом с моим экзешником, но все равно он ее почему-то не находит
тем более, мне нужно, чтоб эта библиотека искалась по тому пути, где она лежит.
В свойствах проекта написано: Reference path: C:\Program files\{путь_к_библиотеке} - разве так работать не должно?? 
--------------------
Прежде чем совершить акт разрезания определенной материи целесообразно удостовериться в правильности всех произведенных измерений.
PM MAIL   Вверх
ivashkanet
Дата 11.7.2006, 14:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 5
Всего: 149



efedron, не в курсе  smile 
Это все что я мог сказать по 
Цитата(efedron @  11.7.2006,  09:37 Найти цитируемый пост)
File or assembly name tfdapi8, or one of its dependencies, was not found.

 
PM MAIL WWW ICQ   Вверх
efedron
Дата 11.7.2006, 15:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 135
Регистрация: 16.3.2005

Репутация: нет
Всего: 4



ivashkanet
ну не знаю, что может быть такое? мож где-то что-то не так делаю? (я в VB.NET - профан) 
--------------------
Прежде чем совершить акт разрезания определенной материи целесообразно удостовериться в правильности всех произведенных измерений.
PM MAIL   Вверх
ivashkanet
Дата 11.7.2006, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 5
Всего: 149



efedron, попробуй положить dll рядом с приложением, что будет
А так, вроде, все правильно делаешь  smile 
 
PM MAIL WWW ICQ   Вверх
efedron
Дата 12.7.2006, 10:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 135
Регистрация: 16.3.2005

Репутация: нет
Всего: 4



ivashkanet,
в общем, заработало, когда я положил приложение в папку с dll (просто там лежат другие dll, которые полльзует объявляемая мной dll)
Вопрос в том, как заставить приложение искать tfdapi8.dll по такому пути, где она всегда лежит (c:\Program files\{путь})?? 
--------------------
Прежде чем совершить акт разрезания определенной материи целесообразно удостовериться в правильности всех произведенных измерений.
PM MAIL   Вверх
ivashkanet
Дата 12.7.2006, 11:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 5
Всего: 149



Отлично  smile 
Что я могу сказать... Зайди в свойства проекта (правой на проекте в Solution Explorer --> Propertes).
Там открой вкладку References и полазь такм
А вообще, efedron, вопросы на прямую не касаемые VB лучше задавать в разделе 
Общие вопросы по .NET и C# 
PM MAIL WWW ICQ   Вверх
DarkDragon
Дата 24.8.2006, 19:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GradVin
**


Профиль
Группа: Участник
Сообщений: 296
Регистрация: 19.8.2006

Репутация: 5
Всего: 8



VB.NET тебе не даст такого. Так уж устроили разработчики из майкрософта. Вроде так была написанно в кратце об VS.NET на этом же сайте. Типа чтобы одни и те жи названия библиотек не мешались в данной деректории, они подумали целесообразно будет чтобы все библиотеки используемые программой лежали в месте с ней. Хотя System, Windows.Forms, Drawing и т.д. не лежат в месте с программой! А значить возможно?

PM MAIL   Вверх
ivashkanet
Дата 25.8.2006, 09:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 5
Всего: 149



DarkDragon, все системные сборки лежат в GAC (Global Assembly Cache). В нем можно зарегистрировать любую сборку (при наличии у нее строгово имени (Strong name)).
P.S. Неужели нельзя ручками указать расположение файла smile 
PM MAIL WWW ICQ   Вверх
Exception
Дата 26.8.2006, 13:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 18
Всего: 186



При запуске приложения CLR ищет все библиотеки, на которые есть ссылки, в специальных каталогах: сначала в папке приложения, затем в подпапке с тем же именем, что и у сборки, затем проверяет .config-файл на наличие дополнительных указаний (указания подпапки или URL для загрузки), затем пробует загрузить сборку из GAC.
http://msdn.microsoft.com/msdnmag/issues/0...BasicInstincts/
PM   Вверх
DarkDragon
Дата 9.10.2006, 01:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GradVin
**


Профиль
Группа: Участник
Сообщений: 296
Регистрация: 19.8.2006

Репутация: 5
Всего: 8



ivashkanet
А как ему этот Strong name указать? 

Exception
А можно примерчик с .config, а то недогоняю, как указать путь к какой нибудь библиотеке.

Еще можно через Reflector. Там вооще крутоsmile

PM MAIL   Вверх
ivashkanet
Дата 9.10.2006, 08:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 5
Всего: 149



Цитата(DarkDragon @  9.10.2006,  01:26 Найти цитируемый пост)
А как ему этот Strong name указать? 

Если из VS, то все елементарно: открываем свойства проекта, вкладка Signing. Там выбираешь sign the assembly...
Если не из VS, то есть утилита командной строки, идущая вместе с Фрэймворком.

P.S. А вообще --- поиск рулит smile
PM MAIL WWW ICQ   Вверх
DarkDragon
Дата 9.10.2006, 18:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GradVin
**


Профиль
Группа: Участник
Сообщений: 296
Регистрация: 19.8.2006

Репутация: 5
Всего: 8



Наверное это реализуется, начиная с 2005 версии smile  
PM MAIL   Вверх
Exception
Дата 11.10.2006, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 18
Всего: 186



Цитата
Наверное это реализуется, начиная с 2005 версии smile   


Ты что smile ! Строгие имена были с самого зарождения .NET smile .
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума VB .NET
diadiavova
  • Прежде чем задать вопрос, воспользуйтесь поиском: возможно Ваш вопрос уже обсуждался и на него был получен ответ.
  • Если такой же вопрос не найден, не стоит задавать свой вопрос в любую тему, создайте новую.
  • Заголовок темы должен отображать ее суть.
  • Содержание поста должно описывать проблему понятно, но в то же время, по возможности, лаконично. Сначала следует описать суть вопроса, потом можно привести пример кода, не вынуждайте других участников угадывать в чем Ваша проблема - телепатов здесь нет.
  • Будьте взаимно вежливы и дружелюбны.
  • При оформлении сообщений используйте форматирование, примеры кода заключайте в теги [CODE=vbnet][/CODE].
  • Также ознакомьтесь с общими правилами, действующими на всем форуме.
  • Если вопрос решен, не забывайте помечать тему решенной(вверху темы есть ссылка). Кроме того, если Вы хотите отблагодарить участников, оказавших помощь в решении, можно повысить им репутацию, в случае, если у Вас менее 100 сообщений в форуме и функция изменения репутации Вам недоступна, можете написать сюда.
  • Общие вопросы по программированию на платформе .NET обсуждаются здесь.
  • Литература по VB .NET обсуждается здесь.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, diadiavova.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB .NET | Следующая тема »


 




[ Время генерации скрипта: 0.1533 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.