R
rollin7
Unregistered / Unconfirmed
GUEST, unregistred user!
一直用的是C,对PASCAL并不是很熟,现在一个项目遇到了如下问题.
调用VC写的动态链接库,函数原型如下:
typedef int (*PicRecog)(char *output, int output_len, BYTE* pInput, DWORD Len, BYTE* pExtractImg, int* nPaintLocation, int* isYellow, int* isGreen, int* isRotation);
其中,nPaintLocation为一整型数组,而isYellow,isGreen,isRotation是一整型数.
请问在DELPHI中该如何声明这个函数和定义里面的参数.
我是如下做的,大家看看有没有什么问题,请指教一二.
type PicRecog= function (outputChar
Len1WORD
pOriBmpByte
len2WORD
pExtractImgByte
nPaintLocationInteger
var isYellow:integer
var isGreen:integer
var isRotation:integer):integer;
在实际应用时是如下定义与调用
MyPicRecog: PicRecog;
DLLHandle : HModule;
outputChar;
pOriBmp,pExtractImgByte;
nPaintLocationInteger;
actual_chars :integer;
isYellow :integer;
isGreen :integer;
isRotation :integer;
len:int64;
////用GetMem对output,pOriBmp,pExtractImg,nPaintLocation分配内存
DLLHandle := LoadLibrary('*.dll');
MyPicRecog:= GetProcAddress(DLLHandle , '*Func');
//*.dll是一动态链接库, *Func是要调用的函数,单步调试,函数装载成功
actual_chars:=MyPicRecog(output, 512, pOriBmp, Len, pExtractImg, nPaintLocation, isYellow, isGreen, isRotation);
可是一调用就出错,晕死,请问各位老大到底哪儿出了错,函数声明应该怎么声明,具体应用时应该怎么定义参数和传递参数,不甚感激
调用VC写的动态链接库,函数原型如下:
typedef int (*PicRecog)(char *output, int output_len, BYTE* pInput, DWORD Len, BYTE* pExtractImg, int* nPaintLocation, int* isYellow, int* isGreen, int* isRotation);
其中,nPaintLocation为一整型数组,而isYellow,isGreen,isRotation是一整型数.
请问在DELPHI中该如何声明这个函数和定义里面的参数.
我是如下做的,大家看看有没有什么问题,请指教一二.
type PicRecog= function (outputChar
Len1WORD
pOriBmpByte
len2WORD
pExtractImgByte
nPaintLocationInteger
var isYellow:integer
var isGreen:integer
var isRotation:integer):integer;
在实际应用时是如下定义与调用
MyPicRecog: PicRecog;
DLLHandle : HModule;
outputChar;
pOriBmp,pExtractImgByte;
nPaintLocationInteger;
actual_chars :integer;
isYellow :integer;
isGreen :integer;
isRotation :integer;
len:int64;
////用GetMem对output,pOriBmp,pExtractImg,nPaintLocation分配内存
DLLHandle := LoadLibrary('*.dll');
MyPicRecog:= GetProcAddress(DLLHandle , '*Func');
//*.dll是一动态链接库, *Func是要调用的函数,单步调试,函数装载成功
actual_chars:=MyPicRecog(output, 512, pOriBmp, Len, pExtractImg, nPaintLocation, isYellow, isGreen, isRotation);
可是一调用就出错,晕死,请问各位老大到底哪儿出了错,函数声明应该怎么声明,具体应用时应该怎么定义参数和传递参数,不甚感激