AcadDocument.PaperSpace.AddTable в Delphi отсутствует
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > AcadDocument.PaperSpace.AddTable в Delphi отсутствует

AcadDocument.PaperSpace.AddTable в Delphi отсутствует

Ответ
Поиск в этой теме
Непрочитано 19.06.2007, 08:27 #1
AcadDocument.PaperSpace.AddTable в Delphi отсутствует
Name
 
Владимир
Регистрация: 18.06.2007
Сообщений: 7

Пытаюсь добавить в чертеж примитив Acad_Table.
Согласно объектной модели из хелпа должно сработать:
AcadDocument.PaperSpace.AddTable()
только почему-то не работает, говорит нет такого "AddTable"
Как быть? Кто-нибудь сталкивался?
Просмотров: 3361
 
Непрочитано 19.06.2007, 11:49
#2
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,413
Отправить сообщение для Александр Ривилис с помощью Skype™


Какая версия AutoCAD?
Александр Ривилис вне форума  
 
Непрочитано 19.06.2007, 11:49
#3
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372


Если AutoCAD такой версии, в которой не было Table, то откуда объект возьмется?

Если используете раннее связывание и какой-нибудь старый TLB, то результат будет тот же.

Импортируйте библиотеку типов заново в Delphi и проверьте, что имеется в созданном PAS.
ShaggyDoc вне форума  
 
Автор темы   Непрочитано 19.06.2007, 13:27
#4
Name


 
Регистрация: 18.06.2007
Владимир
Сообщений: 7


AutoCAD 2006 русский
библиотеку импортировал и специально просматривал, есть там объявление такой функции. но во всплывающей подсказки Delphi ее уже нет.
Name вне форума  
 
Непрочитано 19.06.2007, 15:07
#5
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372


Тогда кто "говорит нет такого "AddTable" ? Если в PAS есть такой метод, то Delphi должна его видеть.

Уберите TLB из uses, уберите все комоненты и работайте с позним связыванием. Возможен еще вариант, что есть другой более старый Автокад на машине и коннект идет к нему.

Надо внимательно со строкой "AutoCAD.Application". Возможно, там надо номер версии указать. Проверить, правильные ли GUID в PAS - могла быть импортирована не та библиотека типов.

Не исключено, что в AutoCAD 2006 русский чего-то и нет. Надо проверить то же самое сделать через LISP.
ShaggyDoc вне форума  
 
Непрочитано 22.06.2007, 09:51
#6
DonJad


 
Регистрация: 20.12.2005
Murmansk
Сообщений: 106


//В 2006 м 2007 замечательно работает следующее
//обработчик какой нибудь кнопки
procedure TForm1.Button1Click(Sender: TObject);
var
Acad:variant;//здесь будем хранить ссылку на запущенный Акад
Point: OleVariant;//Спец переменная здесь храним точку вставки таблицы
T1:variant;//Здесь будем хранить ссылку на таблицу
begin
try //вылавливаем запущенный автокад
Acad:=GetActiveOleObject('Autocad.Application');
except
try//если нет, то запускаем.
Acad:=createOleObject('Autocad.Application');
except showmessage('Не удается запустить AutoCAD, возможно приложение не установлено. В прочих случаях свяжитель с разработчиком ');end; //а если акада нету, то ругаемся
end;

Acad.Documents.add('New');//добавляем документ

Point:= VarArrayCreate([0, 2], varDouble);//описываем тип переменной
Point[0]:=0;//прописываем точку вставки таблицы
Point[1]:=150;
Point[2]:=0;

T1:=Acad.ActiveDocument.ModelSpace.AddTable(Point, 10, 4, 5, 25);
// Вуаля добавили таблицу, подробности смотри в объектной модели акада.
// и дальше примерно таким макаром
T1.SetText(0, 0, 'Заголовок');//Заполняем заголовок
T1.SetText(1, 0, '№ т.');//Заполняем шапку
T1.SetText(1, 1, ' угол');
T1.SetText(1, 2, ' L');
T1.SetText(1, 3, '№ т.');

Acad.visible:=true;//показыем результат пользователю.
T1:=UnAssigned;
Acad:=UnAssigned;//отзываем ссылки дабы не поиметь глюков.
end;
//примерно так

//прикрепил собственно саму програмку скомпиленную, с исходниками
[ATTACH]1182491504.rar[/ATTACH]


Upd
ты пытаешься чертить в PaperSpace.... а он у тебя где-нибудь определен?
DonJad вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > AcadDocument.PaperSpace.AddTable в Delphi отсутствует