CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

问问关于DLL的用法,分可以再加哦。

楼主cul(恐龙++)2001-11-27 21:12:16 在 Delphi / VCL组件开发及应用 提问

写程序这么久了,但是我一直没用过DLL,很想知道DLL怎么个用法?谁来给我讲一讲?  
  比如说吧:我写好一个名叫:Addit.dll的文件,里边有一个函数:AddTest(i,j:integer):Integer;完成加两个数的功能,那么我在一个工程文件里该怎样引用呢? 问题点数:50、回复次数:6Top

1 楼DIABL0(电脑破坏神)回复于 2001-11-27 21:18:30 得分 5

function   AddTest(i,j:integer):integer;stdcall;Top

2 楼cul(恐龙++)回复于 2001-11-27 21:20:37 得分 0

DIABL0(电脑破坏神),  
  stdcall;是什么来的?可以这样直接写函数名调用的吗?不用引用什么的一下吗?Top

3 楼zwjchina(蒲石)回复于 2001-11-27 21:27:19 得分 10

unit   unit1  
  interface  
      function   AddTest(i,j:integer):integer;stdcall;    
      ...  
  implementation  
      function   AddTest;external   'Addit.dll'   name   'AddText';  
  end.  
   
  然后引用这个单元就可以随意使用AddTest了!Top

4 楼taxi(当时明月在,曾照彩云归)回复于 2001-11-27 21:43:54 得分 15

type  
      TAddTest   =   function(i,j:integer):Integer;  
   
   
   
  procedure   TMainForm.XXXXXX  
  var  
      AddTest:   TAddTest;  
      DllHandle:   integer;  
  begin  
      DllHandle   :=   LoadLibrary(Pchar('Addit.dll'));  
      if   DllHandle   =   0   then  
          raise   Exception.Create('装入dll失败!')  
      else   begin  
          AddTest   :=   GetProcAddress(DllHandle,   PChar('AddTest'));  
          if   @AddTest   <>   nil   then  
              ShowMessage(IntToStr(AddTest(1,   2)))  
          else  
              raise   Exception.Create('获取函数失败!');  
      end;  
      FreeLibrary(DllHandle);  
  edn;Top

5 楼agui(阿贵: 高级图形用户界面)回复于 2001-11-27 22:16:31 得分 10

你的Addit.dll中的函数必须是可以回调的和已经引出(export)的。  
   
  如果用C/C++写的,必须用WINAPI修饰,如果是用Delphi写的,必须加上stdcall修饰及用  
  exports声明是引出的。看看帮助。  
   
  例:  
  function   AddTest(i,j:integer):integer;stdcall;    
   
  exports  
      AddTest;  
  exports  
  Top

6 楼hahafan(注意!此人前途迷茫)回复于 2001-11-27 22:46:49 得分 10

可以做个接口单元  
  然后在程序中uses这个接口单元来调用程序,delphi调用API就是用的这方法  
  可看看delphi5.0开发指南上面说的很详细Top

相关问题

  • 问问xvid编码器的用法?
  • 有关DLL的用法
  • bioskey()用法!给分!
  • 100分!!!!!!$的用法?
  • dll与命名空间的用法?????????
  • 高分求 EOF 用法
  • WNetGetResourceParent 函数用法 100分!!!!!
  • DecisionCube用法 UP有分
  • typedef的用法,散分50
  • 菜鸟问问题:如何新建一个job,具体的用法是什么

关键词

  • 函数
  • dll
  • delphi
  • addtest
  • dllhandle
  • addit
  • 调用
  • stdcall
  • 引用
  • 单元

得分解答快速导航

  • 帖主:cul
  • DIABL0
  • zwjchina
  • taxi
  • agui
  • hahafan

相关链接

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

广告也精彩

反馈

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