在vc下写的结构在pb下如何调用?   
在vc下用下面的结构编写了一个 crad.dll 
在pb下如何申明该函数和调用该函数? 
typedef struct
{
BYTE Plate_place;
BYTE Plate_no[12];
BYTE Fee_type[3];
BYTE Annual_flag[3];
BYTE Peccancy_type[3];
BYTE Penalty_flag[3]; } StrIc_r; WORD pascal IcRead(StrIc_r& Icinfo);

解决方案 »

  1.   

    ---- 为了在PowerBuilder应用程序中调用存放在动态链接库dll中的函数需要事先声明。在声明时要明确:(1)函数的作用范围是全局的还是局部的。全局声明可使该函数用于整个应用,局部声明仅使该函数在对象的脚本中有效。(2)必须指明函数返回的数据类型、传递参数的个数和类型,并将存放该函数的动态链接库的名字告诉PowerBuilder。 
    ---- 声明完成后,应用程序可以调用函数 ,调用该函数的代码与调用任何标准的PowerScript函数一样,区别在于:该函数存放在动态链接库中,调用它时,动态链接库装入内存,函数执行。 ---- 下面是PowerBuilder中被调用函数的使用声明,如下例: Function int out_num ( int irow ) LIBRARY "pbdll.dll"
    在PowerBuilder中调用函数out_num()代码如下:
    int irow,retcode
    irow=dw_1.rowcount()
    retcode=out_num(irow