Party API

Здесь обсуждаем систему TDM/PDM/Workflow Lotsia PDM PLUS (PartY PLUS).
viris
Новый участник
Сообщения: 2
Зарегистрирован: 12 янв 2005, 11:51

Party API

Сообщение viris »

Как работать с PArty API?
Не получается запустить демонстрационный пример.
Может быть не тот язык программирования или старая версия: Visyal C++ 6.0?
Аватара пользователя
LTH
Активный участник
Сообщения: 91
Зарегистрирован: 25 авг 2004, 13:49
Откуда: Москва

Re: Party API

Сообщение LTH »

viris писал(а):Как работать с PArty API?
Не получается запустить демонстрационный пример.
Может быть не тот язык программирования или старая версия: Visyal C++ 6.0?
1. Прочитать описание PartyAPI.
2. Научиться подключать в Visual C++ внешние DLL-файлы.

Все получится.

ЗЫ.: В примере используется "не тот язык программирования". Об этом написано в документации. :D
lm
Новый участник
Сообщения: 4
Зарегистрирован: 17 ноя 2004, 11:18

Сообщение lm »

Не мог кто-нибудь запостить в форум небольшой пример приложения, написанного на VisualBasic, и использующего функции PartyAPI

Буду сильно благодарен...
Аватара пользователя
Alxd
Активный участник
Сообщения: 50
Зарегистрирован: 15 июл 2004, 12:42
Откуда: Тюмень
Контактная информация:

Сообщение Alxd »

Легко!
Я недавно накатал модуль atableRpt2G, который переносит данные отчета Lotsia PDM Plus в чертеж AutoCAD. Как раз писал на VBA for AutoCAD. Его можно скачать и изучить. Все совсем не сложно, за исключением преобразования типов :)

Скачайте http://www.alx.ncn.ru/download/atableRpt2G.zip и посмотрите.
MikelSV
Новый участник
Сообщения: 5
Зарегистрирован: 24 окт 2005, 22:24

Сообщение MikelSV »

У меня не получается использовать partyapi. C++ 2003
Можете дать готовый пример?
Юрий
Активный участник
Сообщения: 239
Зарегистрирован: 13 янв 2005, 14:30
Используемое ПО: Lotsia PDM PLUS LT
Откуда: Украина, Донецк
Контактная информация:

Сообщение Юрий »

Могу прислать пример как работать с PartyApi на c#.
К стати был бы очень благодарен тому, кто-бы объяснил как писать подключаемые модуля на FrameWork .net
Юрий
Активный участник
Сообщения: 239
Зарегистрирован: 13 янв 2005, 14:30
Используемое ПО: Lotsia PDM PLUS LT
Откуда: Украина, Донецк
Контактная информация:

Пример описания процедур для С#

Сообщение Юрий »

Вот описание класса C# для работы с Party API:
public class Party
{
[DllImport("partyapi.dll")]
public static extern UInt16 PartyInit();
[DllImport("partyapi.dll")]
public static extern UInt16 PartyReset();
[DllImport("partyapi.dll")]
public static extern UInt16 PartyLoad();
[DllImport("partyapi.dll")]
public static extern UInt16 PartyInitConnect(IntPtr lpParm);
[DllImport("partyapi.dll")]
public static extern UInt16 PartyConnectInfo(out IntPtr lpParm);
[DllImport("partyapi.dll")]
public static extern short PartyUIActivate();
[DllImport("partyapi.dll")]
public static extern UInt16 PartyUIObjectOpen([MarshalAs(UnmanagedType.LPArray)] char[] ptid, int dwFlag);
[DllImport("partyapi.dll")]
public static extern UInt16 PartyUIOperationSelect(int HWND,out IntPtr lpOperID,int dwFlags);
[DllImport("partyapi.dll")]
public static extern UInt16 PartyOperationRun(int HWND, Int32 ptid, IntPtr Arg);
[DllImport("partyapi.dll")]
public static extern UInt16 PartyUIObjectSelect2(IntPtr HWND,out IntPtr ptid, Int32 dwFlags); //множественный выбор
[DllImport("partyapi.dll")]
public static extern UInt16 PartyUIObjectSelect2(IntPtr HWND, IntPtr ptid, Int32 dwFlags); //одиночный выбор (инициализация буффера)
[DllImport("partyapi.dll")]
public static extern UInt16 PartyUIArcDocVerSelect(int hWnd, IntPtr ObjId, Int32 dwFlags, out IntPtr lpVerId, IntPtr lpCount); //множественный выбор
[DllImport("partyapi.dll")]
public static extern UInt16 PartyUIArcDocVerSelect(int hWnd, IntPtr ObjId, Int32 dwFlags, IntPtr lpVerId, IntPtr lpCount); //одиночный выбор (инициализация буффера)
[DllImport("partyapi.dll")]
public static extern UInt16 PartyDocVerOpen([MarshalAs(UnmanagedType.LPArray)] char[] DocId, Int32 dwFlags, IntPtr lpPath);
[DllImport("partyapi.dll")]
public static extern UInt16 PartyUIArcDocVerOpen(int hWnd, [MarshalAs(UnmanagedType.LPArray)] char[] DocId, IntPtr lpArg);
[DllImport("partyapi.dll")]
public static extern UInt16 PartyDocVerClose([MarshalAs(UnmanagedType.LPArray)] char[] DocId);
[DllImport("partyapi.dll")]
public static extern UInt16 PartyDocRightGet([MarshalAs(UnmanagedType.LPArray)] char[] DocId, Int32 wCount,out IntPtr lpRightList);
[DllImport("partyapi.dll")]
public static extern UInt16 PartyUIObjectSelectTree(int hWnd, IntPtr lpRootId, Int32 dwLinkTypeId, IntPtr lpObjID, IntPtr lpTreeLinkID);
}
Арсений
Новый участник
Сообщения: 2
Зарегистрирован: 06 авг 2007, 11:55

Сообщение Арсений »

Юрий писал(а):Могу прислать пример как работать с PartyApi на c#
Буду очень признателен если пришлешь пример работы с PartyAPI на С# на akozlov@ics.perm.ru. Очень нужно.
OrAcOoL
Новый участник
Сообщения: 4
Зарегистрирован: 16 июн 2010, 19:55
Используемое ПО: Lotsia PDM PLUS

Re: Party API

Сообщение OrAcOoL »

Всем привет!

Не подскажите как получить значения ф-и PartyConnectInfo на VB.NET?

Для подключения библиотеки я в Microsoft Visual Studio 2005 на VB создаю WindowsApplication(для теста функций) и

при объявлении класса формы прописываю:

Код: Выделить всё

<StructLayout(LayoutKind.Sequential)> Public Structure PtConnectInfo            'структура для ф-и PartyConnectInfo 

        Public dwSize As Long
        Public lpszLoginName As Long
        Public lpszPassword As Long
        Public wDBMSType As Long
        Public lpszServer As Long
        Public lpszDataBase As Long

    End Structure 

Declare Auto Function PartyInit Lib "PartyAPI.dll" Alias (ByVal hWnd As Integer) As Integer 

Declare Auto Function PartyLoad Lib "PartyAPI.dll" () As Integer

Declare Auto Sub PartyConnectInfo Lib "PartyAPI.dll" (ByRef PtConnInfo As PtConnectInfo)

на форму вешаю пару кнопок:


1:

Код: Выделить всё

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click 

        Dim a As Integer 

        PartyInit(0)
        a = PartyLoad()     
       
End Sub

Врезультате: запускается лоция с предложением ввести пользователя и пароль, если она не открыта, как и должно быть("PartyAPI.doc").


2:

Код: Выделить всё

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click 

        Dim inf As PtConnectInfo
        Dim s As String  

        PartyInit(0)

        PartyConnectInfo(inf)

        s = "PartyAPI: " & inf.lpszLoginName       

        MsgBox(s)

 
End Sub


Врезультате: Сообщение выдает-0. Ошибок никаких нет. Т.е. я неверно использую структуру и "lpszLoginName" содержит адрес на строку? А как всетаки получить саму строку по адресу в VB.NET?

Может кто-нибудь дать пример использования PartyAPI на VB.NET и C#?

Буду очень признателен
CDuke
Новый участник
Сообщения: 4
Зарегистрирован: 03 сен 2008, 09:10

Re: Party API

Сообщение CDuke »

Могу посоветовать посмотреть проект http://code.google.com/p/lsapi/
OrAcOoL
Новый участник
Сообщения: 4
Зарегистрирован: 16 июн 2010, 19:55
Используемое ПО: Lotsia PDM PLUS

Re: Party API

Сообщение OrAcOoL »

Что то ничего там нет, ссылку не могу найти на скачивание
Юрий
Активный участник
Сообщения: 239
Зарегистрирован: 13 янв 2005, 14:30
Используемое ПО: Lotsia PDM PLUS LT
Откуда: Украина, Донецк
Контактная информация:

Re: Party API

Сообщение Юрий »

В примерах к PartyAPI есть доковский документ со скриптом, который илюстрирует
работу с бейсиком. Там показанно как описывать структуры.
Аватара пользователя
LTH
Активный участник
Сообщения: 91
Зарегистрирован: 25 авг 2004, 13:49
Откуда: Москва

Re: Party API

Сообщение LTH »

OrAcOoL писал(а):Что то ничего там нет, ссылку не могу найти на скачивание
Попробуйте такую ссылку: http://lsapi.googlecode.com/svn/trunk/
OrAcOoL
Новый участник
Сообщения: 4
Зарегистрирован: 16 июн 2010, 19:55
Используемое ПО: Lotsia PDM PLUS

Re: Party API

Сообщение OrAcOoL »

Теперь что то есть. Спасибо за ссылку, буду разбираться.
OrAcOoL
Новый участник
Сообщения: 4
Зарегистрирован: 16 июн 2010, 19:55
Используемое ПО: Lotsia PDM PLUS

Re: Party API

Сообщение OrAcOoL »

Юрий писал(а):В примерах к PartyAPI есть доковский документ со скриптом, который илюстрирует
работу с бейсиком. Там показанно как описывать структуры.
Спасибо, Юрий. Буду разбираться.


Видел Вашу тему "Новая возможность вызова API функций из VBScript Офиса и др."

Скачал по ссылке архив, все сделал по readme, но вылетает ошибка: Невозможно создание объекта контейнером ActiveX:'demo_run_action.Class1'.

FrameWork 2.0 установлен, в реестре тоже все верно.

В vb.net подключил PartyApiFDN.dll напрямую. Но еще не пробовал.

Может у Вас есть какой-нибудь примерчик посмотреть?
Можно намекнуть на импорт/экспорт документов?
Ответить