//mocczynna.h
extern "C" float PASCAL EXPORT mocczynnaTg(float k1,float k2, int Q_MPEC, int Q_STOMIL, int Q_STAB,int Q_3_0, int Q_1_7, int Q_0_8);
extern "C" int PASCAL EXPORT wwMes(int i);
//mocczynna.cpp
extern "C" float PASCAL EXPORT mocczynnaTg(float k1,float k2, int Q_MPEC, int Q_STOMIL, int Q_STAB,int Q_3_0, int Q_1_7, int Q_0_8)
{
int Q_CO,Q_TECH;
Q_CO=Q_MPEC+Q_STOMIL+Q_STAB;
Q_TECH=Q_3_0+Q_1_7+Q_0_8;
return (k1*Q_CO+k2*Q_TECH);
}
extern "C" int PASCAL EXPORT wwMes(int i)
{
AfxMessageBox("srkj");
return 0;
}
extern "C" long PASCAL EXPORT pastemocczynnaTg(LPSTR funcName, LPSTR result )
{
long hilite=0;
lstrcpy(result, funcName);
if(lstrcmpi(funcName, "mocczynnaTg") == 0)
{
//intouch脚本编辑器的生成格式
lstrcat(result, "(k1,k2,Q_MPEC,Q_STOMIL,Q_STAB,Q_3_0,Q_1_7,Q_0_8);" );
//intouch脚本编辑器的插入符所选择的内容 从第12个字符开始到第14个字符结束
hilite = MAKELONG(12,14);
}
if(lstrcmpi(funcName, "wwMes") == 0)
{
lstrcat(result, "(i);" );
hilite = MAKELONG(6,7);
}
return(hilite);
}
//mocczynna.def
; mocczynna.def : Declares the module parameters for the DLL.
LIBRARY "mocczynna"
DESCRIPTION 'mocczynna Windows Dynamic Link Library'
EXPORTS
; Explicit exports can go here
pastemocczynnaTg
mocczynnaTg
wwMes
//mocczynna.idf
;
; mocczynna.IDF
;
Version=1
mocczynnaTg, , ,0,0x08000028,pastemocczynnaTg,MOCCZYNNA,MOCCZYNNA,mocczynnaTg,PASCAL,float,float,float,int,int,int,int,int,int
wwMes, , ,1,0x08000028,pastemocczynnaTg,MOCCZYNNA,MOCCZYNNA,wwMes,PASCAL,int,int
01.在Intouch中所显示的函数名
02.帮助文件路径
03.调用帮助文件的参数
04.intouch中函数的返回值 0为有返回值 1为无返回值
05.0x08000028代表数学函数中显示,其他没测试出来
06.pastemocczynnaTg和dll中的函数名对应
07.MOCCZYNNA dll文件的文件名
08.MOCCZYNNA dll文件的文件名
09.dll中的函数名称
10.PASCAL dll中函数调用约定
11.int dll中函数返回值类型
12.int dll参数列表,必须含有一个参数,否则会出错,没测试成功
13.具体参考InTouch Extensibility Toolkit.pdf第九章
//CRYPT.exe 生成wdf文件
CRYPT mocczynna.idf mocczynna.wdf /e