Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Библиотека материалов и сортаментов & FoxPro / 22 сообщений из 22, страница 1 из 1
23.05.2005, 13:18:23
    #33079936
w3d
w3d
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека материалов и сортаментов & FoxPro
Как можно интергировать "Библиотеку материалов и сортаментов" (фирмы АСКОН) с ФоксПро 9? Так, чтобы выбрать в этой библиотеке материал и он перенесся в Фокс?
...
Рейтинг: 0 / 0
23.05.2005, 20:51:42
    #33080970
Grin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека материалов и сортаментов & FoxPro
Ну батенька думаю 95% посетителей этого форума и слыхом не слыхали
об "Библиотеку материалов и сортаментов" (фирмы АСКОН)

ты скажи хоть в каком виде данные хранятся (какая БД используется)
...
Рейтинг: 0 / 0
24.05.2005, 05:50:06
    #33081124
w3d
w3d
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека материалов и сортаментов & FoxPro
GrinНу батенька думаю 95% посетителей этого форума и слыхом не слыхали
об "Библиотеку материалов и сортаментов" (фирмы АСКОН)
:))

ты скажи хоть в каком виде данные хранятся (какая БД используется)
Формат базы - mdb, данные я достать могу.
Эта программа (БМС) работает как сервер - она запускается из программы "КОМПАС" (тоже фирмы АСКОН), работая в БМС выбирается какой-либо материал и возвращается этот материал в Компас. Кроме того, БМС может запускаться как отдельное приложение.

Из справки БМС:
"Сведения из cправочника Библиотека материалов и сортаментов могут по запросу пользователя передаваться в документы системы КОМПАС. Чтобы обеспечить совместную работу Справочника с системой КОМПАС, используется библиотека интеграции. Она сохранена в файле materialk6.dll. Библиотека интеграции записывается на жесткий диск и регистрируется в реестре Windows автоматически при установке Справочника.
Объекты Справочника могут быть вставлены в документ в следующих случаях:
- заполнение графы Материал основной надписи чертежа;
- выбор материала модели;
- выбор материала для расчета массо-центровочных характеристик тела вращения или выдавливания в чертеже или фрагменте;
- заполнение ячейки спецификации."

Так вот я хочу заставить БМС работать с FoxPro, но не знаю, с какого конца подойти.
VFP 9.
...
Рейтинг: 0 / 0
24.05.2005, 06:29:01
    #33081131
Станислав C.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека материалов и сортаментов & FoxPro
w3d Grinты скажи хоть в каком виде данные хранятся (какая БД используется)
Формат базы - mdb, данные я достать могу.
...
Так вот я хочу заставить БМС работать с FoxPro, но не знаю, с какого конца подойти.
VFP 9.
Судя по всему, база лежит в Акцессовском формате. Если это так, то есть как минимум два варианта:
1. Работать с базой напрямую из Фокса через ADO
2. Работать с базой из Фокса через сервер автоматизации (в роли которого будет выступать Акцесс).
...
Рейтинг: 0 / 0
24.05.2005, 06:55:45
    #33081137
w3d
w3d
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека материалов и сортаментов & FoxPro
Станислав C.
Судя по всему, база лежит в Акцессовском формате. Если это так, то есть как минимум два варианта:
1. Работать с базой напрямую из Фокса через ADO
2. Работать с базой из Фокса через сервер автоматизации (в роли которого будет выступать Акцесс).
Совершенно верно, база Акцессная, и данные оттуда я могу взять легко.
НО!
Я хочу не просто брать данные из базы, а БРАТЬ ДАННЫЕ ИЗ ПРОГРАММЫ, КОТОРАЯ РАБОТАЕТ С ЭТОЙ БАЗОЙ. Реально ли это, с учетом того, что в Компасе все именно так и работает?
...
Рейтинг: 0 / 0
24.05.2005, 09:10:42
    #33081240
Станислав C.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека материалов и сортаментов & FoxPro
w3d Станислав C.
Судя по всему, база лежит в Акцессовском формате. Если это так, то есть как минимум два варианта:
1. Работать с базой напрямую из Фокса через ADO
2. Работать с базой из Фокса через сервер автоматизации (в роли которого будет выступать Акцесс).
Совершенно верно, база Акцессная, и данные оттуда я могу взять легко.
НО!
Я хочу не просто брать данные из базы, а БРАТЬ ДАННЫЕ ИЗ ПРОГРАММЫ, КОТОРАЯ РАБОТАЕТ С ЭТОЙ БАЗОЙ. Реально ли это, с учетом того, что в Компасе все именно так и работает?
Я, честно говоря, не вижу разницы. Может быть просветите?
Как я уже говорил, можно использовать технологию серверов автоматизации (Automation), если конечно БМС реализована в виде СОМ-объекта...
Только в этом случае Вам придется с ней помучится, выискивая среди всего многообразия методов нужный...
...
Рейтинг: 0 / 0
24.05.2005, 13:33:43
    #33082058
w3d
w3d
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека материалов и сортаментов & FoxPro
Станислав C.
Я, честно говоря, не вижу разницы. Может быть просветите?
Как я уже говорил, можно использовать технологию серверов автоматизации (Automation), если конечно БМС реализована в виде СОМ-объекта...
Только в этом случае Вам придется с ней помучится, выискивая среди всего многообразия методов нужный...
Разница в том, что если напрямую работать с базой, придется фактически писать БМС заново (но уже на фоксе). Так что, скорее всего вариант с СОМ сервером - это то, что надо. Но я с этим никогда не работал и не знаю с чего начать...
...
Рейтинг: 0 / 0
24.05.2005, 17:18:16
    #33082557
Андрей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека материалов и сортаментов & FoxPro
Необходимо точно знать, является ли эта программа Com-сервером.
Если является, то изучить её объектную модель.
Описание объектной модели обычно не составляет тайны разработчика.
Ну а затем - команда CreateObject (..,..) и объект-приложение со всеми его свойствами -методами в твоём распоряжении.
...
Рейтинг: 0 / 0
25.05.2005, 01:46:29
    #33083051
Igor Korolyov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека материалов и сортаментов & FoxPro
Hi w3d!

Если можешь, посмотри как они сами интегрируют эту dll-ку. В принципе слова "регистрируется в Windows" наталкивают на мысль, что это как раз и есть COM сервер -попробуй также "открыть" эту dll-ку в ObjectBrowser в фоксе - если откроется, изучай тамошние классы :)

Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
25.05.2005, 06:06:23
    #33083078
w3d
w3d
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека материалов и сортаментов & FoxPro
Igor Korolyov
попробуй также "открыть" эту dll-ку в ObjectBrowser в фоксе - если откроется, изучай тамошние классы :)

Спасибо за совет!

В ObjectBrowser открылась, правда не dll, а exe.
Изучаю...
Как мне его запустить? CreateObject ( что именно? ). Прикладываю информацию из реестра и ObjectBrowser.
...
Рейтинг: 0 / 0
25.05.2005, 08:11:18
    #33083135
Андрей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека материалов и сортаментов & FoxPro
Без документации Аскона по объектной модели не разберёшься.
Обратись в Аскон.
...
Рейтинг: 0 / 0
31.05.2005, 07:22:50
    #33091663
w3d
w3d
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека материалов и сортаментов & FoxPro
Есть пример работы (но для Дельфи).
Как можно это перенести на фокс?

procedure TForm1.BtnExecuteClick(Sender: TObject);
begin

BOMat := CreateComObject( Class_BOSimpleProvider ) as IBOSimpleProvider;

if BOMat.Status = $00 then begin
Label1.Caption:='Тест выполнен успешно ! ';
BtnOpen.Enabled:=True;
end else if BOMat.Status = $01 then Label1.Caption:='Ошибка подключения к базе данных материалов ! '
else if BOMat.Status = $02 then Label1.Caption:='Ошибка подключения к базе данных единиц измерения ! '
else if BOMat.Status = $04 then Label1.Caption:='Ошибка подключения к диспетчеру доступа ! '
else if BOMat.Status > $04 then Label1.Caption:='Ошибка Код= '+IntToStr (BOMat.Status);

end;

procedure TForm1.BtnOpenClick(Sender: TObject);
begin
if BOMat.Select( TRUE, Location, Handle)then begin
BOMat.GetObjectInfo(Location,ClassID,ObjectID);
Label2.Caption:='Выбран объект класса = '+ClassID;
end;
end;
...
Рейтинг: 0 / 0
01.06.2005, 06:06:03
    #33093772
w3d
w3d
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека материалов и сортаментов & FoxPro
Сделал так:
Код: plaintext
BOMat = CREATEOBJECT("Materials.BOSimpleProvider")
Объект создается нормально, но вызов
Код: plaintext
1.
BOMat.GetObjectInfo(Location,ClassID,ObjectID)
не проходит, идет ошибка :((
Можно ли (кроме как из документации) узнать какие параметры нужны для методов?
В объекте еще есть методы:
Код: plaintext
1.
2.
3.
4.
5.
BOMat.ExecuteRequest
BOMat.GetObject
BOMat.GetObjects
BOMat.Refresh
BOMat.RegisterClient
BOMat.UnregisterClient

Свойства:
Код: plaintext
1.
2.
3.
4.
(BOMat.Status)
(BOMat.ClientID)
(BOMat.Request)
(BOMat.Response)
(BOMat.SourceID)
...
Рейтинг: 0 / 0
01.06.2005, 22:50:55
    #33096113
Igor Korolyov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека материалов и сортаментов & FoxPro
Hi w3d!

> Можно ли (кроме как из документации) узнать какие параметры нужны для методов?

1) IntelliSense
2) ObjectBrowser

А насчёт ошибки - неужели так трудно ТЕКСТ СООБЩЕНИЯ указать? Сам посуди ЧТО полезного можно почерпнуть из твоего "идёт ошибка"?

Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
02.06.2005, 06:15:02
    #33096248
w3d
w3d
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека материалов и сортаментов & FoxPro
Igor Korolyov
1) IntelliSense
2) ObjectBrowser
В ObjectBrowser выдается только список методов и свойств, приведенный выше. При выделении метода/свойства никакой дополнительной информации в виде параметров не поступает :((

Igor Korolyov
А насчёт ошибки - неужели так трудно ТЕКСТ СООБЩЕНИЯ указать? Сам посуди ЧТО полезного можно почерпнуть из твоего "идёт ошибка"?
Текст:"Function argument value, type or count is invalid"
Весь-то вопрос в том и есть - какие параметры надо передавать в GetObjectInfo? И нельзя ли сведения об этом как-то вытащить из объекта?
...
Рейтинг: 0 / 0
02.06.2005, 06:25:29
    #33096251
w3d
w3d
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека материалов и сортаментов & FoxPro
Расковырял еще одну длл-ку:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Method ExecuteRequest() As Void
Method GetObject(ClassID As String, ObjectID As String, Options As Long) As IBOObject
Method GetObjectInfo(Location As String, ClassID As String, ObjectID As String) As Void
Method GetObjects(ClassID As String, Options As Long) As IBOObjectCollection
Member of BOSimple.IBOSimpleProvider
Method Refresh() As Void
Method RegisterClient(aName As String) As Void
Method Select(Modal As Logical, Location As String, ClientWindow As Long) As Logical
Method UnRegisterClient() As Void
...
Рейтинг: 0 / 0
02.06.2005, 13:46:46
    #33097244
w3d
w3d
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека материалов и сортаментов & FoxPro
Igor Korolyov
1) IntelliSense
2) ObjectBrowser


А как подключить отот объект к IntelliSense?
Мне прислали документацию - сижу разбираюсь, но жутко неудобно набирать все руками
...
Рейтинг: 0 / 0
03.06.2005, 06:22:43
    #33098555
w3d
w3d
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека материалов и сортаментов & FoxPro
Есть такой код на Дельфи:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
begin
  wstLocation := '';
  BOMat.Select(TRUE, // true - модальное окно выбора обьекта, false - не модальное.
                wstLocation, // Location обьекта
                Handle);   // указатель окна МиС
  BOMat.GetObjectInfo( wstLocation, ClassID, ObjectID );// запрос "Получить информацию об обьете"
  BOMat.Request.Topic := topicProperties;               // Заголовок запроса (см. BOMatConst)
  BOMat.Request.Attribute[ anAction ].AsString := avGet;   //Атрибут запроса на получение свойств (см. BOMatConst)
  BOMat.Request.Attribute[ anClassID ].AsString := ClassID;  // Атрибут запроса ClassID
  BOMat.Request.Attribute[ anObjectID ].AsString := ObjectID;  // Атрибут запроса ObjectID
  BOMat.ExecuteRequest;
  edSelectedObject.Text := BOMat.Response.Item[ 0 ].DisplayName + ' класса ' +
                             BOMat.Response.Item[ 0 ].ClassID;
  _ParseObjects( BOMat.Response, nil); // Парсим полученную коллекцию обьектов и атрибутов.
end;

Никак не могу сообразить, как переписать конструкцию
Код: plaintext
BOMat.Request.Attribute[ anAction ].AsString := avGet;
на Фоксе?
...
Рейтинг: 0 / 0
03.06.2005, 08:37:28
    #33098663
Андрей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека материалов и сортаментов & FoxPro
Привет!
Аскон, как я выяснил, эту библиотеку бесплатно не распространяет.
Так что, возможны проблемы.
...
Рейтинг: 0 / 0
03.06.2005, 08:48:56
    #33098683
w3d
w3d
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека материалов и сортаментов & FoxPro
Мы лицензионные пользователи и в рамках лицензии можем использовать эту библиотеку для разного рода интеграции различных программных продуктов.
...
Рейтинг: 0 / 0
03.06.2005, 12:25:35
    #33099412
w3d
w3d
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека материалов и сортаментов & FoxPro
На фоксе:
Код: plaintext
1.
2.
3.
4.
5.
6.
BOMat = CREATEOBJECT('Materials.BOSimpleProvider')
  wstLocation = ''
  ClassID=''
  ObjectID=''
  TRUE=.t.
tt=BOMat.Select(.t., wstLocation, thisform.HWnd)
вылетает в ошибку "Access violation at adress 00404BE8 in module 'Materials.exe'. Write of adress 0000083C"
а на дельфи
Код: plaintext
1.
2.
3.
wstLocation := '';
  BOMat.Select(TRUE, // true - модальное окно выбора обьекта, false - не модальное.
                wstLocation, // Location обьекта
                Handle);   // указатель окна МиС
все нормально
В чем может быть дело?
...
Рейтинг: 0 / 0
03.06.2005, 14:33:13
    #33099864
Андрей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Библиотека материалов и сортаментов & FoxPro
w3dМы лицензионные пользователи и в рамках лицензии можем использовать эту библиотеку для разного рода интеграции различных программных продуктов.

Тогда Аскон даст вам описание COM-интерфейса.
С меня они спросили именно лицензию
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Библиотека материалов и сортаментов & FoxPro / 22 сообщений из 22, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]