Всем привет. Давно просматривал ваш форум особенно этот раздел. Программирование в 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: и работайте уже с этими файлами.
итоге после выполнения всех пунктов все равно выскакивает 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, как это проиходит сейчас)
итоге после выполнения всех пунктов все равно выскакивает 2 ошибки
Александр Сысоев отвечает: Это не ошибки, а предпреждения, с ними все равно можно запустить проект на выполнение. )
Но легче Вам от этого не станет, т.к. Вы не увидите форму и соответственно не сможете ее редактировать.
Цитата
Александр Сысоев пишет:
Кстати эти два пункта можно обойти, перехватив событие AppDomain.AssemblyResolve, возникающее при неудачном разрешении сборки, и указать в нем пути к библиотекам API. Таким образом проект соберется в ту, папку, в которую Вам нужно (а не в Program, как это проиходит сейчас)
Да, но только в этой папке должны находиться все библиотеки, обеспечивающие работу control.
Да, но только в этой папке должны находиться все библиотеки, обеспечивающие работу control.
Зачем же? Все необходимые библиотеки подключаются в настройках проекта. Если это TFlexAPI.dll или TFlexAPI3D.dll, то надо не забыть выставить свойство CopyLocal в false.
Да, действительно здорово. Взял на себя смелость подписать комментарии в коде, присланном Александром, и в качестве примера выложил на сайте www.tflex-nord.narod.ru в разделе API/Примеры приложеий на API/ "Пример приложения (открыть файл T-FLEX CAD) на API C# для T-FLEX CAD 11.28"
Невозможно загрузить файл или сборку "TFlexAPI, Version=9.0.0.0, Culture=neutral, PublicKeyToken=eab6a180a6be0d77" или один из зависимых от них компонентов. Не удается найти указанный файл. Поставил компировать локально false, пишет такую ошибку. В чем проблема.?