Einzelnen Beitrag anzeigen

Benutzerbild von halinchen
halinchen

Registriert seit: 13. Jun 2006
508 Beiträge
 
Delphi 2007 Professional
 
#7

Re: Beim Connecten Fehler abfangen

  Alt 9. Nov 2006, 17:32
Sorry
Delphi-Quellcode:
procedure TFormConnect.BitBtn1Click(Sender: TObject);
var Rec:MessageRec;
begin
If Edit1.Text = 'then begin
   ShowMessage('Bitte IP eingeben!');
   exit;
   end;
//try
Form1.Client.Host := Edit1.Text;
Form1.Client.Port := Port;
Form1.Client.Active:=true;
// oder auch .open
{except
ShowMessage('Fehler aufgetreten!');
end;}

randomize;
Rec.Typ:=MR_Connect;
Rec.Name:=Name;
Rec.Nickname:=Nickname;
Code:=Random(100); //Für Verschlüsselung
//Form1.Client.Socket.SendBuf(Rec,SizeOf(rec));
//-> wollte ertmal den Testen das es connected
State:=Connect;
{Form1.WaitForConnect.Tag :=0;
Form1.WaitForConnect.Enabled :=true;}

Form1.Status.SimpleText:= 'Verbindungsaufbau...';

end;
und

Delphi-Quellcode:
procedure TForm1.ClientError(Sender: TObject; Socket: TCustomWinSocket;
  ErrorEvent: TErrorEvent; var ErrorCode: Integer);
begin
  Memo1.Lines.Add('Fehler '+IntToStr(ErrorCode));
  ErrorCode := 0; // keine Exception erzeugen, Fehler behandelt
end;
Wegen try except:
Wenn ich das in einen Try except Block mache ist das so:
Es ruft Client.Open auf und macht dann gleich weiter.
Und erst später wird der Fehler ausgelöst. (Ich nehme an nach LookUp)

Kannst du mal testen ob das bei dir geht:
Mach nen Server stell ihn auf einen Port ein und aktiviere ihn.
Bei OnError beim Clienten irgent eine Meldung reinschreiben.
Dann bei ButtonClick Client auf nichtvorhandene IP setzen und den Clienten aktivieren.

Dann paar mal auf den Button Klicken.
Bei mir kommt mal meine Meldung und mal die vorgefertigte.

Kann sowas am Compiler liegen?

Ich könnte ja auf Indy umsteigen aber das funktioniert auch nicht, da findets nie einen Server!!!
Sowas hatte ich noch nie!!!

P.S.auch bei Sources von anderen kommt mal meine und mal die vorgefertigte Meldung
  Mit Zitat antworten Zitat