Marco Web Center |
Home: Code Repository: Mastering Delphi 5Project USEMEM
Project StructureUSEMEM.DPRprogram usemem; uses Forms, UseMemF in 'UseMemF.pas' {Form1}; {$R *.RES} begin Application.CreateForm(TForm1, Form1); Application.Run; end. USEMEMF.PASunit UseMemF; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Spin, ComCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Button3: TButton; Label1: TLabel; Edit1: TEdit; UpDown1: TUpDown; Edit2: TEdit; Button4: TButton; Edit3: TEdit; UpDown2: TUpDown; Button5: TButton; Edit4: TEdit; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button5Click(Sender: TObject); end; var Form1: TForm1; implementation {$R *.DFM} function GetData: Integer; stdcall; external 'dllmem.dll'; procedure SetData (I: Integer); stdcall; external 'dllmem.dll'; function GetShareData: Integer; stdcall; external 'dllmem.dll'; procedure SetShareData (I: Integer); stdcall; external 'dllmem.dll'; procedure TForm1.Button1Click(Sender: TObject); begin SetData (UpDown1.Position); end; procedure TForm1.Button2Click(Sender: TObject); begin Edit2.Text := IntToStr (GetData); end; procedure TForm1.Button3Click(Sender: TObject); var HDLLInst: THandle; begin HDLLInst := LoadLibrary ('dllmem.dll'); Label1.Caption := Format ('Address: %p', [ GetProcAddress (HDLLInst, 'SetData')]); FreeLibrary (HDLLInst); end; procedure TForm1.Button4Click(Sender: TObject); begin SetShareData (UpDown2.Position); end; procedure TForm1.Button5Click(Sender: TObject); begin Edit4.Text := IntToStr (GetShareData); end; end. USEMEMF.DFMobject Form1: TForm1 Left = 222 Top = 157 Width = 305 Height = 257 ActiveControl = Button1 Caption = 'DLL Memory Test' Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'MS Sans Serif' Font.Style = [] Visible = True PixelsPerInch = 96 TextHeight = 13 object Label1: TLabel Left = 144 Top = 102 Width = 121 Height = 13 AutoSize = False Caption = 'Address' end object Button1: TButton Left = 32 Top = 14 Width = 81 Height = 25 Caption = '&Set' Default = True TabOrder = 0 OnClick = Button1Click end object Button2: TButton Left = 32 Top = 48 Width = 81 Height = 25 Caption = '&Get' TabOrder = 1 OnClick = Button2Click end object Button3: TButton Left = 32 Top = 96 Width = 81 Height = 25 Caption = 'Code &Address' TabOrder = 2 OnClick = Button3Click end object Edit1: TEdit Left = 144 Top = 16 Width = 105 Height = 21 TabOrder = 3 Text = '20' end object UpDown1: TUpDown Left = 249 Top = 16 Width = 15 Height = 21 Associate = Edit1 Min = 0 Increment = 5 Position = 20 TabOrder = 4 Wrap = False end object Edit2: TEdit Left = 144 Top = 48 Width = 121 Height = 21 TabOrder = 5 Text = '0' end object Button4: TButton Left = 32 Top = 150 Width = 81 Height = 25 Caption = 'Se&t Share' TabOrder = 6 OnClick = Button4Click end object Edit3: TEdit Left = 144 Top = 152 Width = 105 Height = 21 TabOrder = 7 Text = '30' end object UpDown2: TUpDown Left = 249 Top = 152 Width = 15 Height = 21 Associate = Edit3 Min = 0 Increment = 5 Position = 30 TabOrder = 8 Wrap = False end object Button5: TButton Left = 32 Top = 184 Width = 81 Height = 25 Caption = 'Get S&hare' TabOrder = 9 OnClick = Button5Click end object Edit4: TEdit Left = 144 Top = 184 Width = 121 Height = 21 TabOrder = 10 Text = '0' end end
|
||
© Copyright Marco Cantù, 1995-2020, All rights reserved |