📄 api.java
字号:
package HECore.stddata;
import java.util.Vector;
import java.lang.*;
import java.io.*;
import HPCore.Exception.HpException;
public class Api
{
Vector parVect = null ;
Vector fortypVect = null ;
Vector acttypVect = null;
Vector byvVect = null ;
static Api apiobj = null ;
static {
System.loadLibrary("callapi");
}
public Api()
{
parVect = new Vector(5,5);
}
public static Api addParm(Object parm,boolean isbyval,int fortype,int acttype)
{
if(apiobj == null)
apiobj = new Api();
if(apiobj.parVect == null)
apiobj.parVect = new Vector(5,5);
if(apiobj.fortypVect == null)
apiobj.fortypVect = new Vector(5,5);
if(apiobj.acttypVect == null)
apiobj.acttypVect = new Vector(5,5);
if(apiobj.byvVect == null)
apiobj.byvVect = new Vector(5,5);
apiobj.parVect.addElement(parm);
apiobj.fortypVect.addElement(new Short((short)fortype));
apiobj.acttypVect.addElement(new Short((short)acttype));
apiobj.byvVect.addElement(new Boolean(isbyval));
return apiobj;
}
public static Object CALLAPIFUNC(String apiName,String libName,int returntype)throws Exception
{
int size = 0;
if(apiobj == null || apiobj.parVect == null)
size = 0;
else
size = apiobj.parVect.size();
int idx = 0;
String lastname = null;
Object paramval[] = new Object[size];
java.util.Vector Parameter = new java.util.Vector();
short fortype[] = new short[size];
short acttype[] = new short[size];
boolean byv[] = new boolean[size];
Object value = null ;
idx = libName.lastIndexOf('.');
for(int i = 0 ; i < size; i ++)
{
Parameter.addElement((Object)apiobj.parVect.elementAt(i));
fortype[i] = ((Short)apiobj.fortypVect.elementAt(i)).shortValue();
acttype[i] = ((Short)apiobj.acttypVect.elementAt(i)).shortValue();
byv[i] = ((Boolean)apiobj.byvVect.elementAt(i)).booleanValue();
}
try{
value =CallAPI(apiName,libName,Parameter,fortype,acttype,(short)returntype,byv);
}catch(Exception e)
{
e.printStackTrace();
throw new HpException(56,"Library not Found : " + libName);
}
if(apiobj != null)
{
apiobj.parVect = null ;
apiobj.fortypVect = null;
apiobj.acttypVect = null;
apiobj.byvVect =null;
}
return value ;
}
public static Object CALLAPIFUNC(String apiName,String libName,String returnudtname)throws HpException
{
int size = 0;
if(apiobj == null || apiobj.parVect == null)
size = 0;
else
size = apiobj.parVect.size();
java.util.Vector Parameter = new java.util.Vector();
short fortype[] = new short[size];
short acttype[] = new short[size];
boolean byv[] = new boolean[size];
Object value = null ;
for(int i = 0 ; i < size; i ++)
{
Parameter.addElement(apiobj.parVect.elementAt(i));
fortype[i] = ((Short)apiobj.fortypVect.elementAt(i)).shortValue();
acttype[i] = ((Short)apiobj.acttypVect.elementAt(i)).shortValue();
byv[i] = ((Boolean)apiobj.byvVect.elementAt(i)).booleanValue();
}
try{
value=CallAPIRtUDT(apiName,libName,Parameter,fortype,acttype,returnudtname,byv);
}catch(Exception e)
{
e.printStackTrace();
throw new HpException(56,"Library not Found : " + libName);
}
if(apiobj != null)
{
apiobj.parVect = null ;
apiobj.fortypVect = null ;
apiobj.acttypVect = null ;
apiobj.byvVect = null ;
}
return value ;
}
public static void CALLAPISUB(String apiName,String libName) throws HpException
{
int idx = 0;
int size = 0;
if(apiobj == null || apiobj.parVect == null)
size = 0;
else
size = apiobj.parVect.size();
java.util.Vector Parameter = new java.util.Vector();
short fortype[] = new short[size];
short acttype[] = new short[size];
boolean byv[] =new boolean[size];
String lastname = null;
Object paramval[] = new Object[size];
for(int i = 0 ; i < size; i ++)
{
Parameter.addElement(apiobj.parVect.elementAt(i));
fortype[i] = ((Short)apiobj.fortypVect.elementAt(i)).shortValue();
acttype[i] = ((Short)apiobj.acttypVect.elementAt(i)).shortValue();
byv[i] = ((Boolean)apiobj.byvVect.elementAt(i)).booleanValue();
}
try{
CallAPINoRt(apiName,libName,Parameter,fortype,acttype,byv);
}catch(Exception e)
{
e.printStackTrace();
throw new HpException(56,"Library not Found : " + libName);
}
if(apiobj !=null)
{
apiobj.parVect = null ;
apiobj.fortypVect = null ;
apiobj.acttypVect = null ;
apiobj.byvVect = null ;
}
}
public static native void CallAPINoRt(String apiName,String libName,java.util.Vector Parameter,short [] fortype, short []acttype,boolean [] isbyval)throws IllegalArgumentException;
public static native Object CallAPIRtUDT(String apiName,String libName,java.util.Vector Parameter,short [] fortype, short []acttype,String returnudtname,boolean [] isbyval)throws IllegalArgumentException;
public static native Object CallAPI(String apiName,String libName,java.util.Vector Parameter,short []fortype,short[]acttype, short returntype,boolean [] isbyval)throws IllegalArgumentException;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -