Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Компоненты и классы
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 26.06.2015, 18:41
dolar18 dolar18 вне форума
Прохожий
 
Регистрация: 26.06.2015
Сообщения: 6
Версия Delphi: DELPHI XE5, VS
Репутация: 10
По умолчанию Delphi + Autodesk Inventor

Здравствуйте. У меня Delphi XE5. Мне нужно импортировать компоненты от Autodesk Inventor. Но тут я зашел в тупик... Я сначала пробывал простим проверенным способом - заходил в Component->Import Component

Потом Import a Type library, дальше выбирал сам Inventor из списка, дальше ставил галочку Generate Component Wrappers и unit добавлял в проект но компонентов не было. Точно также пробовал делать с AutoCAD результата нет.

Потом я пошел другим путем создал package и импортировал туда точно так ка выше описано. За тем устанавливал Package и компоненты появлялись но только в случае с AutoCAD. А с Inventor приколы... устанавливаю Package, а мне выдает ошибку "Registration procedure in package ...\Inventor.bpl raised exception class EFilerError: Component TApplicationEvents can't be registered by package Inventor.bpl because it has already been registered by package dclstd190.bpl".

dclstd190.bpl - это Package с стандартными компонентами типа TBitBtn и тад далеею.

Вопрос как мне достать эти компоненты? не пойму зачем они назвали класс так же как разработчики делфи.... Я пробовал изменить название класса в Inventor_TLB но это походу путь садомазо)))))
Ответить с цитированием
  #2  
Старый 26.06.2015, 21:10
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Создавай объекты в коде. Походу, это баг Дельфи, которая не позволяет регистрировать классы с одинаковыми короткими именами в панели компонентов. При создании используй полное имя класса (включая имя модуля).
Ответить с цитированием
  #3  
Старый 27.06.2015, 12:20
dolar18 dolar18 вне форума
Прохожий
 
Регистрация: 26.06.2015
Сообщения: 6
Версия Delphi: DELPHI XE5, VS
Репутация: 10
По умолчанию

Скажите пожалуйста что вы имеете в виду? Я то я не совсем понял))) Просто лично я вообще не пишу код, я просто импортирую Inventor_TLB в пакет. Может мне сменить версию делфи? Мне позарез нужны эти компоненты, без них мне придется все писать через Variant...
Ответить с цитированием
  #4  
Старый 27.06.2015, 20:25
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Спокойно импортируй и создавай *_TBL, только не регистрируй их в палитре. Потом там, где тебе надо, включаешь этот модуль в uses и в коде пишешь что-то типа:
Код:
uses Inventor_TLB;

var
  MyAppEvents : Inventor_TLB.IApplicationEvents;
begin
  MyAppEvents := Inventor_TLB.CoApplicationEventsCreate;
  MyAppEvents.CallMyMethod;
  ...
Точный синтаксис надо смотреть.
Ответить с цитированием
  #5  
Старый 28.06.2015, 00:51
Аватар для Verevkin
Verevkin Verevkin вне форума
Прохожий
 
Регистрация: 22.06.2015
Адрес: 1600, пенсильвания-авеню, п.г.т. верхний Вашингтонск, 8126 км от МКАД, от поста ГАИ - налево.
Сообщения: 40
Версия Delphi: 3...XE10
Репутация: -50
По умолчанию

Если компоненты с исходниками, дай.
Попробую портировать на хе8.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 03:31.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter