这些代码用DELPHI怎么翻译? (50分)

  • 主题发起人 主题发起人 decade
  • 开始时间 开始时间
D

decade

Unregistered / Unconfirmed
GUEST, unregistred user!
请翻译高手帮忙翻译下列代码,谢谢:
#include "m2_dll2.h"
DWORD LoadSensorDll(MainController** pESC, HINSTANCE* hLib)
{
DWORD result;
*hLib = LoadLibrary("m2lib.dll");
MainController_CreateFunc p_create_func;
p_create_func = (MainController_CreateFunc) GetProcAddress(*hLib,
"CreateControllerObject");
result = p_create_func(pESC);
}
void FreeSensorDll(MainController** pESC, HINSTANCE* hLib)
{
MainController_DestroyFunc p_destroy_func;
p_destroy_func = (MainController_DestroyFunc) GetProcAddress(*hLib,
"DestroyControllerObject");
if (p_destroy_func)
{
p_destroy_func(*pESC);
*pESC = NULL;
}
}
 
大致如下:

type pMainController=MainController^ ;

function LoadSensorDll(var pMainController pESC;var HINSTANCE hLib):DWord;
var
p_create_func:MainController_CreateFunc;
begin
hLib = LoadLibrary("m2lib.dll");
p_create_func = (MainController_CreateFunc) GetProcAddress(hLib,
'CreateControllerObject');
result = p_create_func(pESC^);
end;

procedure FreeSensorDll(var pESC:pMainController ;var hLib:HINSTANCE);
var
p_destroy_func:MainController_DestroyFunc ;
begin
p_destroy_func = (MainController_DestroyFunc) GetProcAddress(*hLib,
'DestroyControllerObject');
if (integer(p_destroy_func)>0) then
begin
p_destroy_func(pESC);
pESC = nil;
end
end;
 
To jsxjd:
#include "m2_dll2.h"
这句怎么翻译?
 
把 "m2_dll2.h"中的声明用 delphi 重写。
一般包含 类型 常量 函数原型。
 
jsxjd:很感谢你的热情帮助,喔现在要搞一个指纹验证,可恶的是sdk有c++ bulider 写的
我对它一点不懂,现在一筹莫展,下面是其中一个函数
还想请你帮助翻译一下,
DWORD WINAPI CreateControllerObject(LPESC* ppESC = NULL)
再请问,
DWORD WINAPI OpenDevice(char* port, DWORD speed)
DWORD//函数类型
OpenDevice//函数名称
(char* port, DWORD speed)//函数参数
那 WINAPI 算什么?
谢谢!
能交个朋友吗?我想我现在很需要你的帮助:qq:18078049
 
WINAPI 是指函数的调用规则为 pascal ,所以这个在 Delphi中可以不翻译。
要翻译也是在函数的最后加上 pascal;

DWORD WINAPI CreateControllerObject(LPESC* ppESC = NULL)

type pLPESC=KPSEC^;
function CreateControllerObject(var ppESC:pLPSEC = nil):dword;pascal;

DWORD OpenDevice (char* port, DWORD speed)
function OpenDevice (port:pchar; speed: DWORD):dword;

 
用C To Pas 翻译能容易点 不过还得需要自己去修改
 
再次感谢jsxjd的热情帮助。现在把分数全奉上。。
 
后退
顶部