Das mit dem autoexec ist schon implementiert!

Jetzt hab ich aber ein ziemlich merkwürdiges problem:
Wenn eine PM kommt, soll ein neues form erstellt werden. Und obwohl mein code absolut unverfänglich und eigentlich fehlerfrei ist, hängt sich mein programm einfach auf
Ich nehme an, dass es was mit dem netzwerk zu tun hat. wenn ich die selbe procedure, die das form erstellt nicht durch eine chatzeile aufgerufen wird, gibt es keine probleme. sobald ich eben diese procedure aber ausführen lasse, sobald über das netzwerk eine aufforderung dazu kommt, hängt das programm. aber erst nachdem das form sichtbar ist. ich habe keine ahnung, woran das lieg

Vorschläge?
Hier ist der aufruf durchs netzwerk:
Delphi-Quellcode:
if pos('
PMREQUEST', text)=1
then
begin
delete(text,1,10);
//header entfernen
usr:=text;
delete(usr,1,pos('
|',text));
//empfänger abschneiden
if usr=nickname
then //festellen, ob dieser cl gemeint ist
begin
delete(text,pos('
|',text),9999);
//absender abschneiden
if IP<>IPWatch.LocalIP
then
begin
UDPClient.Send(
IP,Port,'
PMACCEPT|'+Nickname);
for i:=1
to 5
do
begin
if PMGrid.Cells[0,i]=text
then
begin
PMExists:=true;
end;
if PMExists=false
then
begin
if PMGrid.Cells[0,i]='
'
then
begin
PMGrid.Cells[0,i]:=text;
PMGrid.Cells[1,i]:=
IP;
CreatePMSession(1);
end;
end;
end;
end;
end;
processed:=true;
end;
Und die erstell procedure
Delphi-Quellcode:
procedure TForm1.CreatePMSession(line: integer);
var usr: string;
PMForm: TForm;
begin
if line=1 then
begin
PMForm:=TForm.Create(Self);
PMForm.Name:='PMForm1';
PMForm.Caption:='TestForm';
PMForm.Show;
end;
end;
Ich kann die procedure auch testweise an anderer stelle aufrufen, da erscheint das fenster ohne probleme.