Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Ereignis von Webservice wird nicht ausgelöst (https://www.delphipraxis.net/64797-ereignis-von-webservice-wird-nicht-ausgeloest.html)

Luckie 8. Mär 2006 11:21


Ereignis von Webservice wird nicht ausgelöst
 
Neuer Service, neues Glück. Ichhabe mir jetzt zum Testen mal einen anderen Webservice gesucht: http://www.webservicex.net/ValidateEmail.asmx?WSDL
Mit ihm kann man die Gültigkeit von E-Mail Adressen überprüfen.

Ich habe den WebService im VS hinzugefügt und die resultiernde Komponente zu meinem Formular hinzugefügt. Dann folgend Code ergänzt:
Code:
        private void button1_Click(object sender, EventArgs e)
        {           
            Boolean valid = validateEmail1.IsValidEmail(txtEMail.Text);
            if (valid)
            {
                lblValid.ForeColor = Color.Green;
                lblValid.Text = "gültig";
            }
            else
            {
                lblValid.ForeColor = Color.Red;
                lblValid.Text = "ungültig";
            }
        }       

        private void validateEmail1_IsValidEmailCompleted(object sender, IsValidEmailCompletedEventArgs e)
        {
            toolStripStatusLabel1.Text = "fertig";
        }
Das Ereignis wurde per Doppelklick im Ereignis der Komponente im OI erstellt:
Code:
this.validateEmail1.Credentials = null;
            this.validateEmail1.Url = "http://www.webservicex.net/ValidateEmail.asmx";
            this.validateEmail1.UseDefaultCredentials = false;
            this.validateEmail1.IsValidEmailCompleted += new ValidateEmail.net.webservicex.www.IsValidEmailCompletedEventHandler(this.validateEmail1_IsValidEmailCompleted);
... und auch korrekt zugewiesen.

Nur leider wird das Ereignis nicht ausgelöst, nach dem die E-Mail validiert wurde, wie es das eigentlich sollte. Und zu einer anderen Methode kann es nicht gehören, weil der Webservice eigentlich nur zwei hat. Funktioniert das einfach nur nicht oder mache ich was falsch?

Luckie 8. Mär 2006 11:39

Re: Ereignis von Webservice wird nicht ausgelöst
 
OK vergesst es. Mein Fehler. Das Ereignis wird nur aufgerufen, wenn man die Asynchrone Version der entsprechenden Methode aufruft:
Code:
        private void button1_Click(object sender, EventArgs e)
        {
            string state;

            validateEmail1.IsValidEmailAsync(txtEMail.Text);

            /*Boolean valid = validateEmail1.IsValidEmail(txtEMail.Text);
            if (valid)
            {
                lblValid.ForeColor = Color.Green;
                lblValid.Text = "gültig";
            }
            else
            {
                lblValid.ForeColor = Color.Red;
                lblValid.Text = "ungültig";
            }*/
        }       

        private void validateEmail1_IsValidEmailCompleted(object sender, IsValidEmailCompletedEventArgs e)
        {
            toolStripStatusLabel1.Text = "fertig";
            if (e.Result)
            {
                lblValid.ForeColor = Color.Green;
                lblValid.Text = "gültig";
            }
            else
            {
                lblValid.ForeColor = Color.Red;
                lblValid.Text = "ungültig";
            }
        }


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:58 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