Einzelnen Beitrag anzeigen

Benutzerbild von x000x
x000x

Registriert seit: 21. Jan 2004
Ort: Bei Hamburg
308 Beiträge
 
Delphi XE2 Professional
 
#5

Re: Thread wird in ActiveX Komponente nicht gestartet

  Alt 26. Sep 2007, 00:03
Moin moin,
Zitat von Oracle:
in der Methode CamThread.UpdateLabel will ich die Methode StartEvent der Klasse TLTB aufrufen. Wie kann ich das sonst machen ausser über die globale Variable TWin?
Das wäre evtl. so zu lösen:
Delphi-Quellcode:
//...
  TCameraResultEvent = procedure(Sender: TObject) of object;

  CamThread = class;

  TLTB = class(TWinControl)
  private
    { Private-Deklarationen }
    Thread : CamThread;
    FOnCameraResult: TCameraResultEvent;
  protected
    { Protected-Deklarationen }
  public
    { Public-Deklarationen }
    constructor Create(Owner: TComponent); override;
    procedure StartEvent;
    procedure StartThread;
  published
    { Published-Deklarationen }
    property OnCameraResult : TCameraResultEvent
      read FOnCameraResult write FOnCameraResult;
  end;

  PTestRecord =^ TTestRecord;
  TTestRecord = record
    amin,amax,bmin,bmax,intensity,blueshift: Integer;
  end;

  CamThread = class(TThread)
  private
    FWin : TLTB;
    procedure UpdateLabel;
  public
    constructor Create(CreateSuspended :boolean; TwinC: TLTB);
  protected
    procedure Execute; override;
  end;
//..
constructor CamThread.Create(CreateSuspended: boolean; TwinC: TLTB);
begin
  inherited Create(CreateSuspended);
  FWin := TwinC;
end;
Bei deinem ActiveX Problem kann ich dir nicht wirklich weiter helfen, aber
schau dir mal diesen Artikel (Delphi 6, 7 threads synchronization in ActiveX controls) an, vieleicht ist es ja das was du suchst?
Peter
-= Gruss Peter =-
-= alias x000x =-
  Mit Zitat antworten Zitat