Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Нужна помощь в переводе файлов заголовков из С++ в Delphi [D7, Win95/98, WinME, NT4, Win2k, WinXP]


Страницы:   1 2

Zilog_ ©   (2006-07-05 10:13:00) 

Ребята! Кто может помочь переписать файлы заголовков DLL библиотеки из под C++ в Delphi. Нужно срочно, а то уволят на ф....г!!!!


Zilog_   (2006-07-05 10:30:00) [21]



typedef void* SIPX_INST ;        

typedef unsigned int SIPX_LINE ;

typedef enum SIPX_CALLSTATE_MAJOR

typedef enum SIPX_CALLSTATE_MINOR

typedef void (*CALLBACKPROC)( SIPX_CALL hCall,
                                                     SIPX_LINE hLine,
                                                     SIPX_CALLSTATE_MAJOR eMajor,
                                                     SIPX_CALLSTATE_MINOR eMinor,
                                                     void* pUserData) ;


SIPXTAPI_API SIPX_RESULT sipxListenerAdd(const SIPX_INST hInst,
                                        CALLBACKPROC pCallbackProc,
                                        void* pUserData) ;

Я описал так:


var
 Form1: TForm1;
 SIPX_CALL:cardinal;
 SIPX_LINE:cardinal;

procedure EventMessage( SIPX_CALL:cardinal; SIPX_LINE:cardinal; Major:integer; Minor:integer; UserData:pointer);

function sipxLineListenerAdd(const SIPX_INST:pointer; proc:TEventMEssage; pUserData:pointer): HResult; stdcall external  'sipXtapi.dll';
....
result:=sipxLineListenerAdd (phone.header, EventMessage, nil );


Что здесь неправильно?


evvcom   (2006-07-05 10:27:00) [22]

> вызов происходит нормально, но по завершению работы вылетает
> AV

Наверняка, соглашение о вызове перепутал. Раз вызываются нормально, значит stdcall или cdecl указал, но указал неверно. Сюда запости один примерчик исходного объявления и результата.


Zilog_   (2006-07-05 10:23:00) [23]

Пробовал, но так - как в С не силен, то попробовал просто загрузить библиотеку, часть функций получилось перевести (работает без ошибок), но вот c процедурным типом облом - вызов происходит нормально, но по завершению работы вылетает AV, видимо описал не правильно, наверное что-то из стека затирается и появляется ошибка.


PSPF2003   (2006-07-05 10:19:00) [24]

Программами для перевода не пробовал пользоваться? Попробуй поискать.


MBo   (2006-07-05 10:16:00) [25]

http://www.drbob42.com/delphi/headconv.htm
но ручной работы все равно много останется


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо