AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

In Thread ein Event starten

Ein Thema von Scorpion3000 · begonnen am 11. Apr 2005
Antwort Antwort
Scorpion3000

Registriert seit: 18. Apr 2004
47 Beiträge
 
Delphi 7 Enterprise
 
#1

In Thread ein Event starten

  Alt 11. Apr 2005, 12:36
Hallo zusammen!

Ich hab eine kleine Komponente geschrieben, in der ein Thread vorkommt, der wiederrum ein Ereignis ausgibt. Hab allerdings zwei Probleme:
1. bekomme ich für die Überprüfung des Events mit assigned immer true zurück
2. (hängt wahrscheinlich mit 1. Problem zusammen) eine Fehlermedlung "ERROR 5 - Zugriff verweigert"

Delphi-Quellcode:
unit Test;

interface

uses
   SysUtils, Classes, Windows, SyncObjs;

type

   TOnMsgRec = procedure(Sender: TObject) of object;

   TCompoTest = class(TComponent)
   private
      FOnMsgRec: TOnMsgRec;
      procedure ThreadProc;
   public
   protected
   published
      procedure RunTest;
      property OnMsgRecieved: TOnMsgRec read FOnMsgRec write FOnMsgRec;
   end;
   
   var
      ThdH: THandle;
      ThID: cardinal;

procedure TCompoTest.RunTest;
begin
   ThdH:= BeginThread(nil, 100, TFNThreadStartRoutine(@TCompoTest.ThreadProc), nil, 0, ThID);
end;

procedure TCompoTest.ThreadProc;
begin
   if assigned(FOnMsgRec) then // <--- da kommt immer "true" heraus
      OnMsgRec(self); // <-- nun kommt die Fehlermeldung*
end;
end.
(* is irgendwie klar, da ja im Hauptprog dem Event nichts zugewiesen wurde)

Hab die ganze Sache bisschen gekürzt. Es wird allerdings sonst nie das Event OnMsgRec benützt oder geändert.

Vielen Dank für eure Hilfe
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz