Avatar billede xcc.dk Nybegynder
23. marts 2006 - 08:27 Der er 21 kommentarer og
1 løsning

exception / socket error

Nogle gange når jeg bruger min ICmp funktion i mit program fejler den grundet bruger intastningen ... dette ville jeg gerne gøre noget ved .. så jeg forsøgte dette ..

begin
Try
IdIcmpClient1.Host := Trim(Edit1.text);
IdIcmpClient1.Ping;
except
on EldSocketError do Showmessage('Fejl');
End

Men i delphi er fejlen kaldet EldSocketError men det forstår except ikke ? hvad kan jeg gøre istedet ??
Avatar billede rocco_siffredi Nybegynder
23. marts 2006 - 08:53 #1
Prøv nedenstående.

Uses
  IdException

Try
  IdIcmpClient1.Host := Trim(Edit1.text);
  IdIcmpClient1.Ping;
Except
  On E : EIdSocketError do
    ShowMessage('Message: ' + E.Message + ', LastError: ' + IntToStr(E.LastError));
end;


// Rocco
Avatar billede xcc.dk Nybegynder
23. marts 2006 - 09:05 #2
Det virkede ikke :( ... den kører stadig bare den gamle fejl og ikke min .. .
Avatar billede rocco_siffredi Nybegynder
23. marts 2006 - 09:09 #3
Hvad er den "gamle" fejl?
Avatar billede xcc.dk Nybegynder
23. marts 2006 - 09:19 #4
EldSocketError ..
Avatar billede xcc.dk Nybegynder
23. marts 2006 - 09:24 #5
EldSocketError - SocketError#11001
Avatar billede rocco_siffredi Nybegynder
23. marts 2006 - 09:27 #6
Som jeg forstår det, bliver fejlen ikke fanget af "Except". Er det korrekt?
Avatar billede xcc.dk Nybegynder
23. marts 2006 - 09:32 #7
Ja ligenøjagtigt ... det er lige som om den ikke "opdager fejlen"
Avatar billede stoney Nybegynder
23. marts 2006 - 09:33 #8
begin
Try
IdIcmpClient1.Host := Trim(Edit1.text);
IdIcmpClient1.Ping;
except
on E: EIdException do Showmessage('Fejl');
End

Stoney
Avatar billede xcc.dk Nybegynder
23. marts 2006 - 09:35 #9
Virkede ikke stoney...
Avatar billede stoney Nybegynder
23. marts 2006 - 09:38 #10
Hvis der bliver tastet noget "sludder" i edit1 er vel heller ikke en fejl.
Du kan jo pinge navne.

Stoney
Avatar billede rocco_siffredi Nybegynder
23. marts 2006 - 09:38 #11
Som standard vil Delphi altid stoppe kørsel i den programlinie som udløser fejlen, når man kører sit program inde i Delphi.
Prøvet at sætte et breakpoint i "Except"-delen. Når fejlen opstår, så prøv at trykke F9 (run) for at checke om du når dit breakpoint. Det er muligt at du skal trykke F9 flere gange.
Avatar billede xcc.dk Nybegynder
23. marts 2006 - 09:41 #12
Den stopper men viser ikke hvor langt den nåede hopper bare fra unit1 og i labelpinger.
Avatar billede xcc.dk Nybegynder
23. marts 2006 - 09:41 #13
labelpinger.dpr og står ved end; linien :(
Avatar billede rocco_siffredi Nybegynder
23. marts 2006 - 09:43 #14
Hvilken Delphi version bruger du?
Avatar billede xcc.dk Nybegynder
23. marts 2006 - 09:47 #15
7 Enterprise
Avatar billede rocco_siffredi Nybegynder
23. marts 2006 - 09:55 #16
Jeg har lige lavet et eksempel, i Delphi 7 Prof., som fint viser en fejldialog.
Vil du ha' koden at kigge på?
Avatar billede xcc.dk Nybegynder
23. marts 2006 - 09:57 #17
jo tak ..
Avatar billede rocco_siffredi Nybegynder
23. marts 2006 - 10:01 #18
Det er et mega simpelt eksempel.

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, IdBaseComponent, IdComponent, IdRawBase, IdRawClient,
  IdIcmpClient;

type
  TForm1 = class(TForm)
    IdIcmpClient1: TIdIcmpClient;
    Button1: TButton;
    Edit1: TEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

Uses
  IdException;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  Try
    IdIcmpClient1.Host := Trim(Edit1.text);
    IdIcmpClient1.Ping;
  Except
    On E : EIdSocketError do
      MessageDlg(E.Message, mtError, [mbOK], 0);
  end;
end;

end.

Prøv dette simple program - kør det evt. uden for Delphi.
Avatar billede xcc.dk Nybegynder
23. marts 2006 - 10:06 #19
Jeg vrøvler ... det er 6 Enterprise jeg har :( .. do nu vågnede jeg ...
Avatar billede xcc.dk Nybegynder
23. marts 2006 - 10:11 #20
Det var den stadig ikke glad ved ... prøvede både i delphi og udenfor ... inden i delphi var det den normale fejl udenfor fik jeg hvis din fejl ... Error ... socketerror 11001
Avatar billede xcc.dk Nybegynder
23. marts 2006 - 10:17 #21
Points yil rocco ... send svar :) Mange tak for hjælpen det var kanon !
Avatar billede rocco_siffredi Nybegynder
23. marts 2006 - 10:18 #22
OK. Fint at det virker...

// Rocco
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester