一、开使你的第一个dll专案
1.file->close all->file->new﹝dll﹞
//自动产生code如下
library project2;
//这有段废话
uses
sysutils,
classes;
{$r *.res}
begin
end.
library project2;
uses
sysutils,
classes;
function mymax ( x , y : integer ) : integer ; stdcall ;
begin
if x > y then
result := x
else
result := y ;
end ;
//切记:library 的名字大小写没关系,可是dll-func的大小写就有关系了。
// 在 dll-func-name写成mymax与mymax是不同的。如果写错了,立即
// 的结果是你叫用到此dll的ap根本开不起来。
//参数的大小写就没关系了。甚至不必同名。如原型中是 (x,y:integer)但引
// 用时写成(a,b:integer),那是没关系的。
//切记:要再加个stdcall。书上讲,如果你是用delphi写dll,且希望不仅给
// delphi-ap也希望bcb/vc-ap等使用的话,那你最好加个stdcall ; 的指示
//参数型态:delphi有很多种它自己的变量型态,这些当然不是dll所喜欢的
// ,windows/dll的母语应该是c。所以如果要传进传出dll的参数,我们
// 尽可能照规矩来用。这两者写起来,后者会麻烦不少。如果你对c不熟
// 的话,那也没关系。我们以后再讲。
{$r *.res}
begin
end.
{$r *.res}
exports
mymax ;
begin
end.
showmessage ( inttostr(mymax(30,50)) ) ;
//在form,interface,var后加
function mymax ( x , y : integer ) : integer ; stdcall ; external 'mytestdll.dll' ;
// mytestdll.dll为你前时写的dll项目名字
// dll名字大小写没关系。不过记得要加 extension的 .dll。在win95或nt,
// 是不必加 extension,但这两种os,可能越来越少了吧。要加extension
uses
sharemem,
sysutils,
classes;
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器