Einzelnen Beitrag anzeigen

1234588

Registriert seit: 14. Jan 2007
Ort: Stuttgart
164 Beiträge
 
#1

HideCaret in einem Thread?

  Alt 11. Feb 2007, 01:04
folgendes, ich möchte gerne meine ersten threading versuche machen und bin teilweise daran gescheitert ._.

mein thread:
Code:
Unit caretthread;

interface

uses
  classes,
  windows;

type
  Tcaretthread = Class(TThread)
    private
      frm: Cardinal;
    protected
       procedure execute; override;
    public
       constructor create; virtual;
       procedure sethandle(carethwnd: cardinal); virtual;
    end;

implementation

procedure Tcaretthread.execute;
var b: boolean;
begin
  b:=false;
  while b=false do hidecaret(frm);
end;

procedure Tcaretthread.sethandle(carethwnd: Cardinal);
begin
  frm := carethwnd;
end;

constructor Tcaretthread.create;
begin
  inherited create(true);
  freeOnTerminate := true;
end;

end.
und mein aufruf:
Code:
  caret := Tcaretthread.create;
  caret.sethandle(richedit1.handle);
  caret.resume;
ob es sinnvoll ist, ist mal dahingestellt
ist mein erster versuch mit threads und deshalb gehe ich auch davon aus das er sehr reich an fehlern ist
was ich nun nicht verstehe ist, wenn ich die zeile
while b=false do hidecaret(frm);
in
while b=false do beep(1000, 100);
abändere funktioniert das ganze
  Mit Zitat antworten Zitat