小编Wel*_*nha的帖子

两个单元,一个类,TSocket 和第二个单元必须更改 Form 上的对象颜色

我必须准备一个单独的单元来通过 TCP/IP 与另一个系统进行通信。

我创建了两个单元:Unit1带有TForm,和Unit2带有通信。

单元1:

uses ..., Unit2;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Circle1: TCircle;
...

var
  Form1: TForm1;
  Communication: TCommunication; 

implementation

procedure TForm1.Button1Click(Sender: TObject);
begin
  Communication.ClientSocket1.Active := True;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Communication := TCommunication.Create;
end;
Run Code Online (Sandbox Code Playgroud)

单元2:

uses SysUtils, ScktComp;

type
  TCommunication = class(TObject)
    ClientSocket1 : TClientSocket;
    procedure ClientOnRead(Sender: TObject; Socket: TCustomWinSocket);
    procedure ClientOnConnect(Sender: TObject; Socket: TCustomWinSocket);
  public
    constructor Create;
    destructor Destroy; override;
  end;

procedure TCommunication.ClientOnConnect(Sender: TObject;
  Socket: TCustomWinSocket);
begin
  // …
Run Code Online (Sandbox Code Playgroud)

sockets delphi events class

1
推荐指数
1
解决办法
61
查看次数

致电表格并更正发布方式?内存使用情况

我正在使用Delphi 7.

我有两个包含Form1和的单位Form2.在某些过程中会多次调用辅助表单,我非常担心内存使用情况.

当我启动该程序时,内存使用量约为2.1 MB.当Form2被调用时,内存增大到2.9 MB.在此过程之后,我关闭Form2并再次调用它来模拟常规使用,内存增长到3.1 MB,再次调用,内存增长到3.4 MB,3.6 MB,3.8 MB等.

内存使用是主要问题.

Form1这样叫Form2:

uses
  Unit2;

...

private
  { Private declarations }
  FChild : TForm2;
...      

FChild := TForm2.Create(nil);
try
  FChild.ShowModal;
finally
  FChild.Free;
end;
Run Code Online (Sandbox Code Playgroud)

内部Unit2:

procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action := caFree;
end;
Run Code Online (Sandbox Code Playgroud)

难道我做错了什么?有更好的解决方案吗?

请问,这不是一个简单的问题,因为这个程序将运行24小时,第二个表单将被多次调用.这意味着有时这个程序会冻结计算机.

我在项目中包含了FASTMM4:

program Project1;

uses
  FastMM4,
  Forms,
  Unit1 in 'Unit1.pas' {Form1},
  Unit2 in 'Unit2.pas' {Form2};

{$R *.res}

begin
  FullDebugModeScanMemoryPoolBeforeEveryOperation := True;
  SuppressMessageBoxes:=False; …
Run Code Online (Sandbox Code Playgroud)

delphi delphi-7

0
推荐指数
1
解决办法
797
查看次数

标签 统计

delphi ×2

class ×1

delphi-7 ×1

events ×1

sockets ×1