悬赏300分,把C++翻译成delphi(300分)

A

akay

Unregistered / Unconfirmed
GUEST, unregistred user!
下面这段代码是用C++写的tuxedo服务的一部分
我想尝试下用delphi来编写tuxedo服务,但这个c++的结构比较复杂
恳请高人帮忙,谢谢

#include <stdio.h>
#include <xa.h>
#include "c_demo.h"
#include <atmi.h>
#include <userlog.h> /*TUXEDO H*/

//服务端初始化服务
#if defined(__STDC__) || defined(__cplusplus)
tpsvrinit(int argc, char *argv[])
#else
tpsvrinit(argc, argv)
int argc;
char **argv;
#endif
{
argc = argc;
argv = argv;
tpopen();
return 0;
}

//服务端结束服务
void tpsvrdone()
{
tpclose();
}

#if defined(__cplusplus)
extern "C" {
#endif
extern int _tmrunserver _((int));
extern void TUDEMO _((TPSVCINFO *));
#if defined(__cplusplus)
}
#endif

static struct tmdsptchtbl_t _tmdsptchtbl[] = {
{ (char*)"TUDEMO", (char*)"TUDEMO", (void (*) _((TPSVCINFO *))) TUDEMO, 0, 0 },
{ NULL, NULL, NULL, 0, 0 }
};

#ifndef _TMDLLIMPORT
#define _TMDLLIMPORT
#endif

#if defined(__cplusplus)
extern "C" {
#endif
_TMDLLIMPORT extern struct xa_switch_t xaosw;
#if defined(__cplusplus)
}
#endif

typedef void (*tmp_void_cast)();
typedef void (*tmp_voidvoid_cast)(void);
typedef int (*tmp_intchar_cast)(int, char **);
typedef int (*tmp_int_cast)(int);
struct tmsvrargs_t tmsvrargs = {
NULL,
&amp;_tmdsptchtbl[0],
0,
(tmp_intchar_cast)tpsvrinit,
(tmp_voidvoid_cast)tpsvrdone,
(tmp_int_cast)_tmrunserver, /* PRIVATE */
NULL, /* RESERVED */
NULL, /* RESERVED */
NULL, /* RESERVED */
NULL, /* RESERVED */
(tmp_intchar_cast)tpsvrthrinit,
(tmp_voidvoid_cast)tpsvrthrdone
};

struct tmsvrargs_t *
#ifdef _TMPROTOTYPES
_tmgetsvrargs(void)
#else
_tmgetsvrargs()
#endif
{
tmsvrargs.reserved1 = NULL;
tmsvrargs.reserved2 = NULL;
tmsvrargs.xa_switch = &amp;xaosw;
return(&amp;tmsvrargs);
}

int
#ifdef _TMPROTOTYPES
main(int argc, char **argv)
#else
main(argc,argv)
int argc;
char **argv;
#endif
{
#ifdef TMMAINEXIT
#include "mainexit.h"
#endif
return( _tmstartserver( argc, argv, _tmgetsvrargs()));
}

#ifdef __cplusplus
extern "C"
#endif
void TUDEMO(TPSVCINFO *rqst)
{
long nRet;
{
TCDemo Demo;
Demo.Do(rqst);
nRet = Demo.GetRetCode();
}
tpreturn(TPSUCCESS, nRet, NULL, 0, 0);
}
 
H

hjcxyw

Unregistered / Unconfirmed
GUEST, unregistred user!
难啊,但关注,
帮你顶一下,
 
A

akay

Unregistered / Unconfirmed
GUEST, unregistred user!
如果有人帮忙,我愿意再开贴,加到1000分
 
S

sjf331

Unregistered / Unconfirmed
GUEST, unregistred user!
#include "c_demo.h" 头文件的内容。
 
A

akay

Unregistered / Unconfirmed
GUEST, unregistred user!
#ifndef c_demoH
#define c_demoH

// 说明 : 由于tuxedo的服务的函数是C格式不支持异常所以在这里封装为类
//---------------------------------------------------------------------------
class TCDemo
{
public:
void ServiceDo();
};
//---------------------------------------------------------------------------
#endif
 

Similar threads

I
回复
0
查看
649
import
I
I
回复
0
查看
495
import
I
I
回复
0
查看
536
import
I
I
回复
0
查看
543
import
I
顶部