CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  非技术区

很久没有提问了,关于c++的DLL在delphi中调用的问题

楼主lwk_hlj(阿凯(学习oralce中))2006-03-03 19:50:34 在 Delphi / 非技术区 提问

调用某一数据库提供的api进行开发,中有一function,c/c++定义如下:  
  C   format  
  int32   pipt_tag(    
  int32   pt,  
  char   PIPTR   *   tag,    
  int32   len   );  
  Returns  
  >0  
    System   error  
  0  
    Success  
  -1  
    Point   does   not   exist  
   
   
  Arguments  
   
  pt   (passed)  
   
  Point   number  
   
  tagname   (returned)  
   
  Tagname   buffer  
   
  len   (passed)  
   
  Length   of   the   passed   tagname   buffer  
   
  其中,PIPTR定义如下:  
   
  #define   PIPTR   _far  
  #define   PIPROC   WINAPI       /*   WINAPI   =   far   pascal   */  
  #elif   (defined(WIN32)   ||   defined(_WIN32))    
  #include   <windows.h>           /*     WINAPI   definition     */  
  #define   PIPTR    
  #define   PIPROC   WINAPI       /*   WINAPI   =   _stdcall   */    
  #else  
  #define   PIPTR    
  #define   PIPROC  
  #endif  
   
   
  我在delphi中定义如下  
   
   
          int32=longint;  
          TDynamicInt32Array   =   array   of   int32;  
          TDynamicSingleArray   =   array   of   Single;  
          TDynamicCharArray=array   of   char;  
   
  function     pipt_tag(pt:int32;tag:TDynamicCharArray;Len:int32):int32;stdcall   ;external   'piapi32.dll';  
   
   
  调用的时候,  
   
    setlength(tagname,0);  
          setlength(tagname,40);  
      ir:=pipt_tag(688,tagname,40);  
   
   
  为何只能返回tagname的前12位?不知道为何?  
   
  那位帮帮我!  
  问题点数:200、回复次数:2Top

1 楼getit911(Windows转Linux中)回复于 2006-03-03 20:27:26 得分 200

这样调用试试  
  ir:=pipt_tag(688,tagname[0],40);Top

2 楼lwk_hlj(阿凯(学习oralce中))回复于 2006-07-07 21:05:30 得分 0

你回答也是不对的,这个函数返回的长度有限!Top

相关问题

  • 提问,在 asm 调用 c 程序
  • ■■■菜鸟提问:vb调用c写的dll,如何传递二维数组、返回两个一维数组?■■■
  • vb调用C写的DLL
  • C#调用DLL的问题
  • C#调用Dll的问题
  • C#调用DLL的问题
  • 新手提问,C#中怎么调用方法?
  • c++如何调用c写的dll??
  • vb.net 怎样调用delphi dll (这个dll C#可以调用的)
  • C调用C#?

关键词

  • win32
  • tag
  • piptr
  • 调用
  • pipt
  • piproc
  • tagname
  • winapi
  • 如下
  • define

得分解答快速导航

  • 帖主:lwk_hlj
  • getit911

相关链接

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

广告也精彩

反馈

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