CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

C++写的接口在DELPHI的参数转换

楼主sheepnam(天堂游牧人)2005-11-18 00:27:19 在 Delphi / VCL组件开发及应用 提问

C++写的DLL接口:  
  bool   HLGetFingerM   (HANDLE   hHandle,   LPBYTE   &rpData,   DWORD   &rdwLen);  
  功能描述:获取语义指纹  
  参数说明:hHandle [IN] 分词句柄  
                      rpData [OUT] 存放语义指纹的指针  
                      rdwLen [OUT] 语义指纹长度  
  返   回   值:是否成功  
  其他相关函数:无  
   
   
   
  这个C++写的DLL接口要把他转为适合DELPHI调用的,中间那两个指针要怎么写啊?  
   
  function   HLGetFingerM   (hHandle:HANDLE   ;   LPBYTE   &rpData,   DWORD   &rdwLen):boolean;stdcall;external   'HLSSplit.dll'   name   'HLGetFingerM';  
   
   
  就中间那两个LPBYTE   &rpData,   DWORD   &rdwLen不知道怎么转定义!! 问题点数:10、回复次数:4Top

1 楼clasj(★知我☆)回复于 2005-11-18 08:54:07 得分 10

function   HLGetFingerM   (hHandle:HANDLE   ;   var   rpData:   pbyte,   var   rdwLen:   dword):boolean;stdcall;external   'HLSSplit.dll'   name   'HLGetFingerM';Top

2 楼beyondtkl(大龙驹<*好久没来了,兄弟们好吧。*>)回复于 2005-11-18 08:54:11 得分 0

LPBYTE   &rpData,   DWORD   &rdwLen  
   
  --  
   
  type  
      PBYTE   =   ^Byte;  
   
  var   rpData:   PBYTE;   var   rdwLen   DWORD;  
   
  前面一个就是二级指针了。Top

3 楼clasj(★知我☆)回复于 2005-11-18 09:04:01 得分 0

一个示例:)  
   
  //   testdll.cpp   :   Defines   the   entry   point   for   the   DLL   application.  
  //  
   
  #include   "stdafx.h"  
   
  BOOL   APIENTRY   DllMain(   HANDLE   hModule,    
                                                DWORD     ul_reason_for_call,    
                                                LPVOID   lpReserved  
    )  
  {  
          return   TRUE;  
  }  
   
  extern   "C"   __declspec(dllexport)   void   foo(char*   &s,   int   &i){  
  s   =   "hello   world!";  
  i   =   123;  
  }  
   
  program   testdll;  
   
  {$APPTYPE   CONSOLE}  
   
  uses  
      SysUtils;  
   
  procedure   foo(var   s:   pchar;   var   i:   integer);   cdecl;   external   'testdll.dll';  
   
  var  
      s:   pchar;  
      i:   integer;  
  begin  
      foo(s,   i);  
      writeln(s,   i);  
      readln;  
  end.Top

4 楼sheepnam(天堂游牧人)回复于 2005-12-11 17:18:06 得分 0

接受答案Top

相关问题

  • C#如何调用Com接口函数中参数含有optional
  • 在C#中调用C++写的接口时的参数类型问题
  • 如何在Delphi中使用COM接口中的可选参数的方法?
  • 关于DELPHI调用C写的DLL参数类型的问题
  • delphi中调用标准c接口(dll)的问题!
  • 在Delphi中如何调用C实现的带有动态参数的函数
  • C++Builder单元文件(Unit)怎么向Delphi的单元文件(Unit)传参数?
  • c#接口问题
  • C#接口用法
  • 和delphi以及C++ builder相比,VC的socket接口的不同,救急!!!

关键词

  • c++
  • 接口
  • 指针
  • dll
  • rdwlen
  • rpdata
  • hlgetfingerm
  • c++写
  • hhandle
  • 语义指纹

得分解答快速导航

  • 帖主:sheepnam
  • clasj

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo