Скачать NANOCAD Pдгы 8.5
dwg.ru forum rss xml
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Проблема с чтением данных xData в программе на Delphi

Проблема с чтением данных xData в программе на Delphi

Версия для печати
 
Ответ
Опции темы Поиск в этой теме
Непрочитано 11.06.2017, 17:48 #1
Проблема с чтением данных xData в программе на Delphi
Plutos
 
Регистрация: 20.01.2012
Сообщений: 12

Plutos вне форума Вставить имя

Есть непраздный вопрос по чтению параметров Xdata. Процедура GetXData ();
Проблема в том что расширенные данные с помощью SetXData создаются на ура, а вот обратное чтение никак не идет.
Возвращает пустоту. Пробовал различные варианты и с определением как массива и как переменной не хочет хоть тресни.
Может у кого есть примерчик? Пример из VB HELP-а не дает полной информации.

Последний раз редактировалось Plutos, 11.06.2017 в 18:02.
Просмотров: 1099
 
Непрочитано 11.06.2017, 18:09
#2
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 1,443


ИМХО, справка исчерпывающе отвечает на этот вопрос
http://help.autodesk.com/view/ACD/20...D-6915B6B98426

Вы код покажите и напишите что Вы хотите получить.
Boxa на форуме вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 11.06.2017, 20:25
#3
Plutos


 
Регистрация: 20.01.2012
Сообщений: 12


Да собственно ничего сверхестественного.

var
BlokName, RetVal, DataTypeOut, DATA_VALOut: OLEVariant;

Begin

BlokName := frBase.D_LIST_BLOKID_OBJECT.Value; // Беру значение ObjectID из предварительно выбранных блоков
RetVal := Acad.ActiveDocument.ObjectIDToObject(BlokName); // Получаю ссылку на объект
RetVal.GetXData ('*', DataTypeOut, DATA_VALOut); // Пытаюсь получить расширенные данные соответствующего блока

// Дальше пытался получить данные, но поскольку ничего не получается то решил получить хоть что-то.

ShowMessage (VarToStr(DataTypeOut) + ' & ' + VarToStr(DATA_VALOut));

End;

На месте параметров DataTypeOut и DATA_VALOut подставлял и просто переменные и массивы ничего не дает.
Сначала думал что процедура возвращает массив данных типа DataTypeOut (i), но пишет что не верно. Потом предположил просто длинная строка с перечислением строковых переменных, тоже не проходит. Хотя данные по SetXData все легло нормально и ExpressTools проверил. Все время возвращает пустоту.
А основная идея в том что программно вставляя блоки в рисунок присваиваются данные строк для формирования спецификации, соответственно при выборки блоков эти данные берутся из чертежа. Но вот застрял на этой процедуре. Всего 7 переменных из них только одна Integer остальные String.
Plutos вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 11.06.2017, 20:43
#4
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 1,443


Цитата:
object.GetXData AppName, XDataType, XDataValue
AppName
Access: Input-only
Type: String
A NULL string will return all the data attached to the object, regardless of the application that created it. Supplying an application name will return only the data that was created by the specified application.
Цитата:
Сообщение от Plutos Посмотреть сообщение
RetVal.GetXData ('*', DataTypeOut, DATA_VALOut); // Пытаюсь получить расширенные данные соответствующего блока
В Вашем коде, приложение имеет имя "*", думается это неправильно.
Вы не привели код, как задаете XDate, однако попробуйте не задавать имя приложения (null) и посмотрите что там возвращается.
Boxa на форуме вставить имя Обратить внимание модератора на это сообщение  
 
Автор темы   Непрочитано 11.06.2017, 20:52
#5
Plutos


 
Регистрация: 20.01.2012
Сообщений: 12


Звездочка говорит о том что пофигу какое приложение, но я пробовал и без неё. Результат тот же. Я и не задавал имя приложения нулл. С именем приложения я тоже пробовал. Просто оно у меня написано русскими буквами подумал что может быть из-за этого. Впрочем, попробую аглицкими, может получится.

----- добавлено через ~13 мин. -----
Все. Вопрос снят. Заработало. Вот что значит сторонний взгляд. Спасибо за помощь. Тут просто наложилось два косяка, и видимо звездочка не дает статус 'читать все' как я предполагал.
Plutos вне форума вставить имя Обратить внимание модератора на это сообщение  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Проблема с чтением данных xData в программе на Delphi

 VetCAD++
Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Что изменить в программе под Компас 7 для работы в 15 Компасе. (delphi) reanimatoring Программирование 1 12.04.2015 20:41
Проблема с выводом на печать чертежей, содержащийх подрезанные растровые изображения (AutoCAD 2009LT) GazRust AutoCAD 13 27.06.2014 10:51
Проблема с восстановлением и привязкой базы данных СПДС 6 в Win7х64 Silent77 ПО от CSoft 1 15.10.2010 06:57
Проблема с базой данных в VETCADe Saleh-07- Расчетные программы 2 23.09.2010 09:46
Проблема переноса данных из Credo в AutoCad mikola1977 AutoCAD 4 03.06.2009 13:59

|| Главная || Каталог САПР || Тендеры || Публикации || Объявления || Биржа труда || Download || Галерея ||
|| Библиотека || Кунсткамера || Каталог предприятий || Контакты || Файлообменник || Блоги ||