Autor Beitrag
Robinator
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 275

WinXP
BDS 2006
BeitragVerfasst: Mi 07.03.07 17:13 
Versuch es doch mal so:

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
TUDPThread = class(TTHread)
  private
    FRemoteHost : String;
    FText : String;
  protected
    procedure Execute; override;
  public
    Constuctor Create(ARemoteHost, AText : String);
end;

constructor TUDPThread.Create(ARemoteHost, AText : String);
begin
  inherited Create(True);
  FRemoteHost := ARemoteHost;
  FText := AText;
  FreeOnTerminate := True; //Zufrieden? :P
  Suspended := false;
end;

procedure TUDPThread.Execute;
begin
  with TUDPSockUtil.Create do //Ich gehe mal davon aus, dass die Komponente so heisst - wenn nicht hier den Namen einfügen
  try
    RemoteHost := FRemoteHost; 
    SendText(FText); 
  finally
    Free;
  end;
end;


//Aufruf dann so:

for User := 0 to frmMain.ListView1.Items.Count - 1 do 
  TUDPThread.Create(frmMain.ListView1.Items[User].SubItems[1], Username + '#' + IntToStr(User));


Das ist wieder nur ein Ansatz (ehe sich jemand beschwert :P ), könnte aber nach meinem Verständniss funktionieren :)

gruss, Rob

_________________
erare humanum est
Yheeky
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 07.03.07 17:36 
So, mein Programm sieht nun so aus:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
constructor TUDPThread.Create(VPort : Integer; VRemoteHost : String);
var UDPSockUtil : TUDPSockUtil;
begin
inherited Create(True);
  CLocalPort := VPort;
  CRemoteHost := VRemoteHost;

  // UDPSockUtil erstellen
  UDPSockUtil := TUDPSockUtil.Create(frmMain);
  UDPSockUtil.LocalPort:= VPort;
  UDPSockUtil.RemoteHost := VRemoteHost;
  Suspended := False;

end;


Der Aufruf ist wiefolgt (bei OnButtonClick):
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
for User := 0 to Users.Items.Count - 1 do
      begin
      Application.ProcessMessages;

      TUDPThread.Create(Port, Users.Items[User].SubItems[0]);
      end;


Trotzdem kann ich die Form nicht bewegen, wenn ich den Button drücke... :( wieso denn? Ich richte die Komponente ja bisher nur ein und Connecte nicht.

EDIT: Okay, auch wenn sich die Komponente nicht verbindet, versucht er schon beim Eintragen den Namen aufzulösen. Nichtsdestotrotz möchte ich den "Einfrieren" Effekt hierbei ja nicht haben...
Robinator
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 275

WinXP
BDS 2006
BeitragVerfasst: Mi 07.03.07 17:44 
du erstellst UDPSockUtil in konstruktor als lokale Variable. Das hat erstens keinen SInn, weil du im Execute darauf nichtmehr zugreifen kannst und zweitens wird der Creator nicht Asynchron ausgeführt. Nimm das da mal raus und versuch es dann nochmal ;). Das UDPSockUtil wird ja im Execute eh schon erstellt.

gruss, rob

_________________
erare humanum est
Yheeky
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 07.03.07 18:14 
Ah, okay :oops:

Aber der Code...

ausblenden Delphi-Quelltext
1:
2:
3:
4:
 // UDPSockUtil erstellen
  UDPSockUtil := TUDPSockUtil.Create(frmMain);
  UDPSockUtil.LocalPort:= VPort;
  UDPSockUtil.RemoteHost := VRemoteHost;


...wird doch dann ins Execute gestellt oder? Ansonsten weiss Execute ja garnicht, dass er ne Komponente vom Typen TUDPSockUtil erstellen soll...
Robinator
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 275

WinXP
BDS 2006
BeitragVerfasst: Mi 07.03.07 18:37 
Wieso sollte das "ins execute gestellt" werden? Das leuchet mir jetzt irgendwie überhaupt nicht ein :)

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
procedure TUDPThread.Execute;
begin
  with TUDPSockUtil.Create do //Hier wird die komponente erstellt
  try
    RemoteHost := FRemoteHost; 
    SendText(FText); 
  finally
    Free;
  end;
end;

_________________
erare humanum est
Yheeky
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 07.03.07 18:48 
Okay, aber angenommen das würde nicht im Execute stehen...dann würde doch auch meine Variante funktionieren oder was spricht dagegen?
Robinator
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 275

WinXP
BDS 2006
BeitragVerfasst: Mi 07.03.07 18:51 
Habn ich doch eben schon gesagt. Der Konstruktor wird nicht asynchron ausgeführt... da kannst du es genauso gut im Mainthread laufen lassen.

_________________
erare humanum est
Yheeky
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 07.03.07 18:58 
Okay vielleicht hab ich mich falsch ausgedrückt, deswegen nochmal auf die Gefahr hin mit zu wiederholen *g*.

Richtig?

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
procedure TUDPThread.Execute;
begin
  with TUDPSockUtil.Create do //Hier wird die komponente erstellt
  try
    RemoteHost := FRemoteHost; 
    SendText(FText); 
  finally
    Free;
  end;
end;


Falsch?

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure TUDPThread.Execute;
var UDPSockUtil : TUDPSockUtil;
begin
  UDPSockUtil := TUDPSockUtil.Create(frmMain);
  UDPSockUtil.LocalPort:= VPort;
  UDPSockUtil.RemoteHost := VRemoteHost;
end;


Wenn dem so ist: wieso muss das dann mit TObject.Create und while...do...gemacht werden abgesehen davon, dass es dann nicht asynchron ausgeführt wird?
Robinator
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 275

WinXP
BDS 2006
BeitragVerfasst: Mi 07.03.07 19:51 
Das is beides ansich das gleiche. Nur hast du kein SendText drinne und gibst das Objekt nicht wieder frei ;)

Zudem solltest du nicht frmMain als Owner übergeben

gruss, Rob

Ps.: wo siehst du da ein while..do und wo ein TObject?

_________________
erare humanum est
Yheeky
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 07.03.07 19:58 
Verlesen...meinte natürlich das with...do und mit TObject meinte ich die UDP Kompo...okay, dann danke erstmal. Ich schau mal wie weit ich komme, ehe ich mich hier wieder melden muss ;-)
Danke nochmal!

Gruß Christian
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mi 07.03.07 23:57 
Moin!

Ich möchte nochmal auf die allgemeinen Fragen eingehen, das mit dem (Sende-)Thread hat dir user profile iconRobinator ja nun schon hingebogen: ;)
user profile iconYheeky hat folgendes geschrieben:
Okay, also sollte ich vielleicht erstmal versuchen die Hostauflösung in einen Thread zu machen oder? Dann sollte das mit dem Einfrieren schonmal weg sein.
Die allgemein schlechte Performance liegt dann also daran, dass alles über eine Komponente läuft, richtig?

Je länger ich so darüber nachdenke, desto mehr frage ich mich, WARUM die Hostnamensauflösung bei dir sooo lange dauern sollte, dass die einzelnen GetHostByName()-Calls derartige Blockaden bewirken... :gruebel: vor allem, weil nachfolgende Auflösungen aus dem lokalen DNS-Cache bedient werden. Ausser(!): es handelt sich um einen fehlerhaften Hostnamen oder du hast eine Fehlkonfiguration in deiner DNS-Anbindung... :?!?: das würde es erklären! :idea:

Der Ansatz mit den Sende-Threads ist zwar ein Workaround für das Problem, aber es geht eigentlich nicht auf die Ursache ein. Wenn alle Hosts, die du in deiner Liste hast, gültig sind, dann sollte die erste Auflösung vielleicht etwas dauern, aber alle folgenden nicht (wohlgemerkt, die erste Auflösung innerhalb von 24 Stunden(?) oder so! jedenfalls innerhalb der lokalen Cach-Dauer). Ich frage mich also ernsthaft, ob du nicht vielleicht ein anderes, grundlegendes Problem hast und jetzt nur daran "vorbeiprogrammierst"... :?:

user profile iconYheeky hat folgendes geschrieben:
Ich kann natürlich für jede Verbindung einen neuen UDPSockUtil anlegen, nur wird das Ereignis OnReceiver dann ja für jede Komponente abgefragt. Sorgt das dann nicht auch für eine Programmüberlastung?

Für den Empfang musst du natürlich weiterhin die statische IDE-Kompo auf dem Formular verwenden. ;) Aber du hast natürlich Recht mit der "Befürchtung", dass der Sende-Thread-Ansatz nicht gerade eine resourcensparende "Alternative" ist... :?

Deshalb: du solltest IMHO versuchen, die Ursache für die lange DNS-Auflösung zu finden; oder vielleicht ist es ja noch ganz was anderes... ? Fazit: Das mit dem Sende-Thread mag zwar "funktionieren", aber deshalb halte ich den Ansatz immer noch nicht für "sauber". :| :(

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Yheeky
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 08.03.07 00:17 
Also die Sache ist: bei mir zuhause hat das alles schon reibungslos funktioniert. In der Berufsschule habe ich es dann versucht und da ist das Programm eingefroren. Das Netzwerk ist ziemlich groß und so kam ich schon dazu, dass ich vom Broadcasting auf das direkte Senden umgestiegen bin.

Nochmal eine Frage:

Mit folgendem Code versuche ich eine Komponente zu erzeugen:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
constructor TUDPThread.Create(VRemoteHost : String; VIndex : Integer);
begin
inherited Create(True);
  CRemoteHost := VRemoteHost;
  CIndex := VIndex;
  FreeOnTerminate := True;
  Suspended := False;

end;

procedure TUDPThread.Execute;
begin
with TUDPSockUtil.Create(Application) do
  try
    Name := 'UDPClient' + IntToStr(CIndex);
    LocalPort := 3110;
    RemoteHost := CRemoteHost;
  finally
    Free;
  end;

end;


Dann habe ich 2 Buttons. Mit dem einen erstelle ich eine Komponente und mit dem anderen frage ich ab, ob es eine Komponente mit dem Namen gibt:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
procedure TForm10.Button1Click(Sender: TObject);
begin
if CompExists('UDPClient0') = True then
ShowMessage('Existiert')
 else
ShowMessage('Existiert nicht');

end;

procedure TForm10.Button2Click(Sender: TObject);
begin
TUDPThread.Create(''0);

end;


Hier dann noch die CompExists-Funktion:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
function CompExists(Componentname : String) : Boolean;
var Comp : SmallInt;
begin
Result := False;

for Comp := 0 to Application.ComponentCount-1 do
  if Application.Components[Comp] is TUDPSockUtil then
   if TUDPSockUtil(Application.Components[Comp]).Name = ComponentName then
   Result := True;

end;


Ich bekomme jedoch immer angezeigt, dass eine Komponente mit dem Namen nicht existiert :-(
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Do 08.03.07 00:23 
Moin!

Augenblick mal (den Rest des Beitrags habe ich mir noch nicht genau angesehen, kommt noch); du willst damit sagen:
user profile iconYheeky hat folgendes geschrieben:
Also die Sache ist: bei mir zuhause hat das alles schon reibungslos funktioniert. In der Berufsschule habe ich es dann versucht und da ist das Programm eingefroren. Das Netzwerk ist ziemlich groß und so kam ich schon dazu, dass ich vom Broadcasting auf das direkte Senden umgestiegen bin.

dass du Broadcasts gesendet hast und das hat lange gedauert? Also, da ist was faul, einen Broadcast zu senden ist das schnellste, was geht, da hier gar keine DNS-Auflösung gemacht wird! :mahn: Sprich: von Broadcasts auf Unicasts umzusteigen ist sicher keine Verbesserung (zumindest im LAN, per INet gehts natürlich nicht anders)! :shock:

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Do 08.03.07 00:29 
Moin!

So, hab jetzt auch mal über den Code geschaut, aber, ähm, ... :oops: wie sag ich´s diplomatisch, ... das ist nix... :? :hair: Den kannste (und den gedanklichen Ansatz/Idee gleich mit) in die Tonne tun. ;) (bitte nicht persönlich nehmen).

Sag mal, kennst du dieses Tutorial? ;)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Yheeky
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 08.03.07 10:13 
Okay, danke für das Tutorial...ich muss zu meiner Schande gestehen, dass ich jetzt erst beim Nachschauen gesehen habe, dass du ja die Komponente geschrieben hast :lol:

Bezüglich dem Broadcast: Wie du schon mal erwähnt hattest, liegt das Problem womöglich woanders. Zum Verständnis vielleicht nochmal genaueres über mein Programm. Ich möchte einen Messenger für meine Klasse in der Berufsschule schreiben. Den habe ich zuhause schonmal getestet und da hat soweit alles funktioniert. In der Schule kam dann allerdings das "Einfrier-Phänomen". Wielange dürfte es denn dauern, wenn ich eine Nachricht in ein Netzwerk schicke (selbst wenn die Maske 255.255.255.255 ist)?

Mhmm, jetzt machst du aber meine Motivation runter :( ...ich bin gerade noch in der Schule, schau aber vielleicht gleich schonmal ins Tutorial rein. Ich hoffe dann bin ich etwas schlauer. Welcher Teil von dem Code ist denn nun aber eigentlich schlecht, denn ein gewisser Teil stammte ja auch von dir ;-)
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Do 08.03.07 12:29 
Moin!

user profile iconYheeky hat folgendes geschrieben:
ich muss zu meiner Schande gestehen, dass ich jetzt erst beim Nachschauen gesehen habe, dass du ja die Komponente geschrieben hast :lol:

;)

user profile iconYheeky hat folgendes geschrieben:
Zum Verständnis vielleicht nochmal genaueres über mein Programm. Ich möchte einen Messenger für meine Klasse in der Berufsschule schreiben.

Vorab und eigentlich OT, aber trotzdem wichtig: Mir ist ein Fall bekannt, wo der Einsatz eines Chat-Programms in einer Berufsschule (klar, ohne Wissen des Lehrers im Unterricht) zu recht "drastischen Maßnahmen" ggü. den SuS geführt hat... :? Ich hoffe (für dich), dass du weißt, was du da machst! :mahn:

user profile iconYheeky hat folgendes geschrieben:
Bezüglich dem Broadcast: Wie du schon mal erwähnt hattest, liegt das Problem womöglich woanders. [...] In der Schule kam dann allerdings das "Einfrier-Phänomen". Wielange dürfte es denn dauern, wenn ich eine Nachricht in ein Netzwerk schicke (selbst wenn die Maske 255.255.255.255 ist)?

Oo, das sieht nicht gut aus; mir scheint, die Rechner in eurer Schule sind nicht korrekt konfiguriert... :shock: Mach mal ein ipconfig /all 1>C:\ipconfig.txt 2>&1 an einem und pack mal die Ausgabe hier rein (ggfs. als PN, wenn du das nicht öffentlich machen willst).

user profile iconYheeky hat folgendes geschrieben:
Mhmm, jetzt machst du aber meine Motivation runter :( ...
[...]
Welcher Teil von dem Code ist denn nun aber eigentlich schlecht, denn ein gewisser Teil stammte ja auch von dir ;-)

Hm, ich sehe in dem Thread keinen Code von mir (OK, mit Ausnahme der Kompo ;))?! Wie ich schon sagte, der Ansatz scheint mir das Problem zu sein. :|

Aber mach mal die Abfrage und das Tut, dann sehen wir weiter. ;)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Yheeky
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 08.03.07 13:35 
user profile iconNarses hat folgendes geschrieben:
Moin!
Vorab und eigentlich OT, aber trotzdem wichtig: Mir ist ein Fall bekannt, wo der Einsatz eines Chat-Programms in einer Berufsschule (klar, ohne Wissen des Lehrers im Unterricht) zu recht "drastischen Maßnahmen" ggü. den SuS geführt hat... :? Ich hoffe (für dich), dass du weißt, was du da machst! :mahn:

Hab ich eigentlich noch nichts von gehört. Was ist den SuS? Was waren das denn für Maßnahmen?

user profile iconNarses hat folgendes geschrieben:
Oo, das sieht nicht gut aus; mir scheint, die Rechner in eurer Schule sind nicht korrekt konfiguriert... :shock: Mach mal ein ipconfig /all 1>C:\ipconfig.txt 2>&1 an einem und pack mal die Ausgabe hier rein (ggfs. als PN, wenn du das nicht öffentlich machen willst).

Gerade passiert ;-)

user profile iconNarses hat folgendes geschrieben:
Hm, ich sehe in dem Thread keinen Code von mir (OK, mit Ausnahme der Kompo ;))?! Wie ich schon sagte, der Ansatz scheint mir das Problem zu sein. :|

Aber mach mal die Abfrage und das Tut, dann sehen wir weiter. ;)

Also das Tutorial sieht schonmal vielversprechend aus. Das Demoprogramm funktioniert auch und das sogar in der Schule! Muss ich den gleichen Aufbau nur noch in meinem Programm verwenden.
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10185
Erhaltene Danke: 1261

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Do 08.03.07 14:17 
Moin!

user profile iconYheeky hat folgendes geschrieben:
user profile iconNarses hat folgendes geschrieben:
Moin!
Vorab und eigentlich OT, aber trotzdem wichtig: Mir ist ein Fall bekannt, wo der Einsatz eines Chat-Programms in einer Berufsschule (klar, ohne Wissen des Lehrers im Unterricht) zu recht "drastischen Maßnahmen" ggü. den SuS geführt hat... :? Ich hoffe (für dich), dass du weißt, was du da machst! :mahn:

Hab ich eigentlich noch nichts von gehört. Was ist den SuS? Was waren das denn für Maßnahmen?

Schülerinnen und Schüler ;) Schriftliche Verwarnung für alle an den Ausbilder und der "Urheber der Idee" wurde 1 Woche vom Unterricht ausgeschlossen... :hair: (und IMHO auch völlig zu recht! 8) -> 1. unerlaubter Softwareeinsatz, 2. Betrugswerkzeug, 3. Sabotage an der Schuleinrichtung; Berufsschule ist keine Fun-Veranstaltung, das ist schon halb Job, und da wird nach der Pfeife des Lehrers/Ausbilders getanzt, Punktum!)

user profile iconYheeky hat folgendes geschrieben:
Gerade passiert ;-)

Jau, sieht auch nicht auffällig aus; die anderen Schnittstellen sind ja nicht verbunden und die Verbundene hat eine korrekte Konfiguration. Also, alles OK. ;)

user profile iconYheeky hat folgendes geschrieben:
Also das Tutorial sieht schonmal vielversprechend aus. Das Demoprogramm funktioniert auch und das sogar in der Schule!

Scheint mir also eher, als hättest du "nur" die Kompo unglücklich "Angefasst" oder sowas. ;)

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Robinator
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 275

WinXP
BDS 2006
BeitragVerfasst: Do 08.03.07 16:04 
[quote="user profile iconNarses"]Moin!

user profile iconNarses hat folgendes geschrieben:
Schriftliche Verwarnung für alle an den Ausbilder und der "Urheber der Idee" wurde 1 Woche vom Unterricht ausgeschlossen... :hair: (und IMHO auch völlig zu recht! 8) -> 1. unerlaubter Softwareeinsatz, 2. Betrugswerkzeug, 3. Sabotage an der Schuleinrichtung; Berufsschule ist keine Fun-Veranstaltung, das ist schon halb Job, und da wird nach der Pfeife des Lehrers/Ausbilders getanzt, Punktum!)


Ähm ja... Sabotage.. klar sicher doch. Ich bin ja der Meinung, dass man Schüler für sowas gleich erschiessen sollte :P

Gruss, rob

_________________
erare humanum est
Yheeky
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Do 08.03.07 16:16 
user profile iconNarses hat folgendes geschrieben:
Schülerinnen und Schüler ;) Schriftliche Verwarnung für alle an den Ausbilder und der "Urheber der Idee" wurde 1 Woche vom Unterricht ausgeschlossen... :hair: (und IMHO auch völlig zu recht! 8) -> 1. unerlaubter Softwareeinsatz, 2. Betrugswerkzeug, 3. Sabotage an der Schuleinrichtung; Berufsschule ist keine Fun-Veranstaltung, das ist schon halb Job, und da wird nach der Pfeife des Lehrers/Ausbilders getanzt, Punktum!)

Also im Grunde genommen hast du da schon recht, aber er ist auch für nützliche Sachen gedacht wie z.B. Mitschriften am Laptop können per Datei rübergeschickt werden. Erst aber mal sollte das generelle Prinzip funktionieren ;-)
Also während Arbeiten oder so ist das Ding natürlich tabu und ich denke auch eher, dass wir da als IT-Klasse unterstützt werden, wenn wir uns mit dem Thema Netzwerk auseinander setzen.

user profile iconNarses hat folgendes geschrieben:
Scheint mir also eher, als hättest du "nur" die Kompo unglücklich "Angefasst" oder sowas. ;)
Ja scheint ja so, sonst wäre dein Beispiel ja nicht gegangen. Also brauche ich ja doch nur eine Komponente und nen Thread hast du in deinem Programm auch nicht drin...