www.pudn.com > voltage_monitor.rar > Unit1.pas


unit Unit1; 
 
interface 
 
uses 
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
  Dialogs, TeEngine, Series, ExtCtrls, TeeProcs, Chart; 
 
type 
  ArrayOfInt = array[0..19] of Integer; 
 
  Tget = procedure(a:ArrayofInt);cdecl; 
   
  TForm1 = class(TForm) 
    Chart1: TChart; 
    Series1: TLineSeries; 
    Timer1: TTimer; 
    procedure Timer1Timer(Sender: TObject); 
    procedure FormCreate(Sender: TObject); 
  private 
    { Private declarations } 
  public 
    { Public declarations } 
  end; 
 
var 
  Form1: TForm1; 
  MyFun:TFarProc; 
 
implementation 
 
{$R *.dfm} 
 
procedure TForm1.Timer1Timer(Sender: TObject); 
var  
i: Integer; 
a: ArrayOfInt; 
begin 
  Tget(MyFun)(a); 
  With Series1 do 
  begin 
    Clear; 
    Randomize; 
    for i:=1 to 19 do 
    begin 
     AddXY(a[i-1],a[i]); 
    end; 
  end; 
end; 
 
procedure TForm1.FormCreate(Sender: TObject); 
var 
  Moudle:THandle; 
begin 
 
  Moudle:=LoadLibrary('..\dll\get.dll'); 
 
  ShowMessage(IntToStr(Moudle));//0 
   
  if Moudle>32 then 
  begin 
    //MessageDlg('here',mtConfirmation,[mbOk],0); 
    try 
      MyFun:=GetProcAddress(Moudle,'get'); 
 
    (*try 
      r:=TMax(MyFun)(5,8); 
      ShowMessage(IntToStr(r));    *) 
       
    finally 
      FreeLibrary(Moudle); 
    end; 
  end; 
end; 
 
end.