易截截图软件、单文件、免安装、纯绿色、仅160KB

delphi dll 静态调用和动态调用方法总结

dll 调用方法有 静态调用和动态调用两种方法
用到的dll为上篇文章所编写的dll.
总结如下:
Unit Unit1;
Interface
Uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
Type
  TForm1 = Class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Procedure Button1Click(Sender: TObject);
    Procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  End;
Var
  Form1: TForm1;
 
Implementation
Function  Min(X, Y: Integer): Integer; external 'Project1.dll';
Function Max(X, Y: Integer): Integer; external 'Project1.dll';
procedure SynAPP(App:THandle);stdcall;external 'Project1.dll'; //这里的
procedure ShowForm;stdcall;external 'Project1.dll';
procedure showmyform;stdcall;external 'Project1.dll';
{$R *.dfm}
Procedure TForm1.Button1Click(Sender: TObject);
Begin
  showmessage(inttostr(Min(1, 100)));//静态方法
  showmessage(inttostr(Max(1, 100)));//静态方法
End;
//动态方法
Procedure TForm1.Button2Click(Sender: TObject);
Type
  Tmax = Function(X, Y: Integer): Integer;
  THandle = Integer;
Var
  mymax: Tmax;
  Handle: THandle;
Begin
  Handle := LoadLibrary('Project1.dll');
  @mymax := GetProcAddress(Handle, 'Max');
  showmessage(inttostr(mymax(1, 100)));
  FreeLibrary(Handle);
End;
procedure TForm1.Button3Click(Sender: TObject);
begin
  // SynAPP(Application.Handle);
  showmyform ;//静态方法
  //ShowForm ;
end;
End.


相关文档:

《Delphi 算法与数据结构》: 数据对齐

为了加快硬件的访问速度, 编译器通常要使用"数据对齐", 譬如:
//下面结构中: SizeOf(TRec) = 6; 因为 b 在这里也要占 2 字节.
TRec = record
a: Word;
b: Byte;
c: Word;
end
;
//下面结构中: SizeOf(TRec) = 16; 这里的 a 和 b 共占了 8 个字节.
TRec = record
a: Byte;
b: Byte;
c: Do ......

专门针对delphi的,嵌入源码的病毒(转)

专门针对delphi的,嵌入源码的病毒
如果在 X:\Program Files\Borland\Delphi7\Lib 发现有 SysConst.bak (12KB) 和
SysConst.dcu (18KB),那么恭喜你,中招了。
http://topic.csdn.net/u/20090817/20/102ba10b-82ae-472d-a0be-6d54ce6a331b.html
http://bbs.2ccc.com/topic.asp?topicid=330829
http://bbs.2ccc.com/top ......

括号匹配(delphi)-转

type
TCharStack = class(TStack)
private
function GetTop: Char;
public
function Pop: Char;
function Push(Item: Char): Char;
property Top: Char read GetTop;
end;
const
FindSet = ['(',')'];

implementation
{$R *.dfm}
{ TCharStack }
......

delphi 生成xml 方法 与 delphi txt文件操作

Procedure TForm1.Button1Click(Sender: TObject);
Var
xmlstr,FileName: String;
f: Textfile;
Begin
xmlStr := '<?xml version="1.0" encoding="gb2312"?>';
xmlstr := xmlstr + '<user><name>张三</name><sex>男</sex></user>';
sh ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号