相关疑难解决方法(0)

Delphi - 计时器内部线程生成AV

我有以下线程代码,第一次执行正确.之后,我不时在线程的Execute方法上获得AV,例如

调试输出:TProcesses.Execute在模块'ListenOutputDebugString.exe'中的地址00409C8C处的访问冲突.读取地址08070610处理ListenOutputDebugString.exe(740)

我不知道是什么产生这个AV ...

unit Unit3;

interface

uses
  Classes,
  StdCtrls,
  Windows,
  ExtCtrls,
  SysUtils,
  Variants,
  JvExGrids,
  JvStringGrid;

type
  TProcesses = class(TThread)
  private
    { Private declarations }
    FTimer :  TTimer;
    FGrid  :  TJvStringGrid;
    FJobFinished : Boolean;
    procedure OverrideOnTerminate(Sender: TObject);
    procedure DoShowData;
    procedure DoShowErrors;
    procedure OverrideOnTimer(Sender: TObject);
  protected
    procedure Execute; override;
  public
    constructor Create(aGrid : TJvStringGrid);overload;
  end;

implementation

{TProcesses }

var SharedMessage : String;
    ErrsMess      : String;
    lp            : Integer;

constructor TProcesses.Create(aGrid : TJvStringGrid);
begin
 FreeOnTerminate := True;
 FTimer := TTimer.Create(nil);
 FTimer.OnTimer := …
Run Code Online (Sandbox Code Playgroud)

delphi multithreading delphi-xe

11
推荐指数
2
解决办法
1万
查看次数

标签 统计

delphi ×1

delphi-xe ×1

multithreading ×1