Страница 1 из 2

Party API

Добавлено: 21 янв 2005, 18:17
viris
Как работать с PArty API?
Не получается запустить демонстрационный пример.
Может быть не тот язык программирования или старая версия: Visyal C++ 6.0?

Re: Party API

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

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

ЗЫ.: В примере используется "не тот язык программирования". Об этом написано в документации. :D

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

Буду сильно благодарен...

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

Скачайте http://www.alx.ncn.ru/download/atableRpt2G.zip и посмотрите.

Добавлено: 24 окт 2005, 22:30
MikelSV
У меня не получается использовать partyapi. C++ 2003
Можете дать готовый пример?

Добавлено: 09 дек 2005, 15:21
Юрий
Могу прислать пример как работать с PartyApi на c#.
К стати был бы очень благодарен тому, кто-бы объяснил как писать подключаемые модуля на FrameWork .net

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

Добавлено: 25 янв 2006, 09:24
Юрий
Вот описание класса 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);
}

Добавлено: 24 авг 2007, 08:20
Арсений
Юрий писал(а):Могу прислать пример как работать с PartyApi на c#
Буду очень признателен если пришлешь пример работы с PartyAPI на С# на akozlov@ics.perm.ru. Очень нужно.

Re: Party API

Добавлено: 09 июл 2010, 13:12
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#?

Буду очень признателен

Re: Party API

Добавлено: 12 июл 2010, 09:56
CDuke
Могу посоветовать посмотреть проект http://code.google.com/p/lsapi/

Re: Party API

Добавлено: 12 июл 2010, 10:15
OrAcOoL
Что то ничего там нет, ссылку не могу найти на скачивание

Re: Party API

Добавлено: 13 июл 2010, 07:56
Юрий
В примерах к PartyAPI есть доковский документ со скриптом, который илюстрирует
работу с бейсиком. Там показанно как описывать структуры.

Re: Party API

Добавлено: 13 июл 2010, 11:40
LTH
OrAcOoL писал(а):Что то ничего там нет, ссылку не могу найти на скачивание
Попробуйте такую ссылку: http://lsapi.googlecode.com/svn/trunk/

Re: Party API

Добавлено: 13 июл 2010, 14:17
OrAcOoL
Теперь что то есть. Спасибо за ссылку, буду разбираться.

Re: Party API

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


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

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

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

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

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