Официальный форум российского программного комплекса T-FLEX PLM


Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
Работа с API-функциями под T-Flex Cad, проблемы с подключением к T-Flex Cad из Visual studio
 
Всем привет. Давно просматривал ваш форум особенно этот раздел. Программирование в T-Flex под API и решил все таки попробовать что это за зверь такой. Извиняюсь конечно за такой вопрос Чайника), но после многократных попыток подключения к T-Flex и его настроек любезно предоставленных Сергеем Максимовым на сайте http://tflex-nord.narod.ru в разделе "API/Примеры кода" , ничего не получилось(. При подгрузке T-Flexовского проекта в Visual Studio следую исключительно инструкции написанной в файлике "Работа с API.doc" в архиве "open_zip". По пунктам цитирую:
1. Добавить из каталога \\T-FLEX\T-FLEX CAD 10\Program\ библиотеку TFlexAPI.dll в список .NET компонентов
2. Для работы с 2D необходимо подключить \\T-FLEX\T-FLEX CAD 10\Program\TFlexAPI.dll, а для работы с 3D необходимо подключить \\T-FLEX\T-FLEX CAD 10\Program\TFlexAPI3D.dll. Свойство «Copy Local» для каждой dll установить в «False».
3. На закладке «Build» в поле «Output path:» укажите путь до папки, в которой расположена библиотека TFlexAPI.dll, например, «C:\Program Files\T-FLEX\T-FLEX CAD 10\Program\»
4. На закладке «References Paths» также укажите путь «C:\Program Files\T-FLEX\T-FLEX CAD 10\Program\» и добавьте папку в список («Add Folder»).

В итоге после выполнения всех пунктов все равно выскакивает 2 ошибки:
Warning 1 Could not find type 'TFlex.Control'. Please make sure that the assembly that contains this type is referenced. If this type is a part of your development project, make sure that the project has been successfully built.
Warning 2 The variable 'tfcontrol' is either undeclared or was never assigned. C:\Program Files\T-FLEX\T-FLEX CAD 10\API\Samples\Form1.cs

Подскажите что делать...вот) заранее извиняюсь за глупый вопрос для кого то) просто судя по тому что здесь на форуме пишут даже немного стыдно задавать такой вопрос
 
Даже не стоит извиняться, в вопросах API еще многие плавают, не исключаю и себя.
Проверил на VS2008RusExpress. Выполнил все пункты, предварительно создав новое приложение WindowsForms. VS отказался положить на форму control. Закрыл/открыл проект - все заработало. Попробуйте отрыть пример с сайта, который идет вместе с описанием.
Пунтк 1 Вам придется выполнять каждый раз сразу после открытия VS и перед открытием проекта с control (например с C#Develop этого не происходит - настройки запоминаются)
И еще, если Вы работаете не с правами администратора - скопируйте установленный T-Flex на диск D: и работайте уже с этими файлами.
Изменено: Сергей Максимов - 20.03.2009 01:28:37
 
Цитата
Юрий Хомик пишет:

итоге после выполнения всех пунктов все равно выскакивает 2 ошибки
Это не ошибки, а предпреждения, с ними все равно можно запустить проект на выполнение.

Цитата
Юрий Хомик пишет:

Warning 1 Could not find type 'TFlex.Control'. Please make sure that the assembly that contains this type is referenced. If this type is a part of your development project, make sure that the project has been successfully built.

Проверьте, указали ли Вы ссылку на пространство имен TFlex в своем приложении. В случае затруднений, можно прислать проект мне, я посмотрю.

Цитата
Юрий Хомик пишет:

The variable 'tfcontrol' is either undeclared or was never assigned

Вы объявили переменную, но не инициализировали её
 
Цитата
Юрий Хомик пишет:

3. На закладке «Build» в поле «Output path:» укажите путь до папки, в которой расположена библиотека TFlexAPI.dll, например, «C:\Program Files\T-FLEX\T-FLEX CAD 10\Program\»
4. На закладке «References Paths» также укажите путь «C:\Program Files\T-FLEX\T-FLEX CAD 10\Program\» и добавьте папку в список («Add Folder»).
Кстати эти два пункта можно обойти, перехватив событие AppDomain.AssemblyResolve, возникающее при неудачном разрешении сборки, и указать в нем пути к библиотекам API. Таким образом проект соберется в ту, папку, в которую Вам нужно (а не в Program, как это проиходит сейчас)
Изменено: Александр Сысоев - 23.03.2009 16:23:40
 
Цитата
Юрий Хомик пишет:

итоге после выполнения всех пунктов все равно выскакивает 2 ошибки

Александр Сысоев отвечает:
Это не ошибки, а предпреждения, с ними все равно можно запустить проект на выполнение. )
Но легче Вам от этого не станет, т.к. Вы не увидите форму и соответственно не сможете ее редактировать.

Цитата
Александр Сысоев пишет:

Кстати эти два пункта можно обойти, перехватив событие AppDomain.AssemblyResolve, возникающее при неудачном разрешении сборки, и указать в нем пути к библиотекам API. Таким образом проект соберется в ту, папку, в которую Вам нужно (а не в Program, как это проиходит сейчас)
Да, но только в этой папке должны находиться все библиотеки, обеспечивающие работу control.
Изменено: Сергей Максимов - 24.03.2009 00:13:29
 
Цитата
Сергей Максимов пишет:

Да, но только в этой папке должны находиться все библиотеки, обеспечивающие работу control.
Зачем же? Все необходимые библиотеки подключаются в настройках проекта. Если это TFlexAPI.dll или TFlexAPI3D.dll, то надо не забыть выставить свойство CopyLocal в false.
 
Да, но в этом случае программа не запустится из проводника, а только из среды.
 
Цитата
Сергей Максимов пишет:

Да, но в этом случае программа не запустится из проводника, а только из среды.

Запускается, могу выслать пример :play:
 
Цитата
Александр Сысоев пишет:

Запускается, могу выслать пример
Было бы неплохо, если не трудно - вышлите.
Изменено: Сергей Максимов - 24.03.2009 17:11:22
 
Да, действительно здорово. Взял на себя смелость подписать комментарии в коде, присланном Александром, и в качестве примера выложил на сайте www.tflex-nord.narod.ru в разделе API/Примеры приложеий на API/
"Пример приложения (открыть файл T-FLEX CAD) на API C# для T-FLEX CAD 11.28"
 
что делать если я сохранил формат в tft в тифлексе а он не открывается потом!!!!!!!!!
 
Невозможно загрузить файл или сборку "TFlexAPI, Version=9.0.0.0, Culture=neutral, PublicKeyToken=eab6a180a6be0d77" или один из зависимых от них компонентов. Не удается найти указанный файл.
Поставил компировать локально false, пишет такую ошибку. В чем проблема.?
 
Для начала убедитесь, что во вкладке References окна SolutionExplorer ссылка на файл TFlexAPI.dll правильная.
Изменено: Brom25 - 01.06.2011 15:22:47
Кто ищет - тот всегда найдет!
Страницы: 1