TClientsocket Fehler in Modul



  • Servus zusammen,
    hab mal wieder ein kleines Problemchen.

    void __fastcall TForm1::BBScan80Click(TObject *Sender)
    {
     Listenindex=0;
     VerbindeSocket(80);
    }
    //=============================================================================
    void TForm1::VerbindeSocket(int Nummer)
    {
      AnsiString egal="";
    
      egal=Online->Strings[Listenindex];
      Scanner->Address=egal;
      Scanner->Port=Nummer;
      Scanner->Active = true;
    }
    

    Scanner ist ein Pointer auf TClientSocket in der *.h Datei. Online ist eine
    TStringList und Lsitenindex einfach ein globale Variable. Ich will auf einem Rechner prüfen ob der Port 80 geöffnet ist, wenn ja soll er einfach in ein Richedit geschrieben werden. Wenn nicht in ein anderes.
    Nach dem StartClick wird einfach VerbindeSocket ( C by @F98) aufgerufen und versucht zu verbinden. Allerdings wird jedesmal ein Fehlerverursacht.
    In der TSL Online stehen IP Adressen. Der AnsiString egal wird noch richtig ausgelesen und beim zuweisen der Adresse oder des Hosts kommt folgende Fehlermeldung:

    ---------------------------
    Benachrichtigung über Debugger-Exception
    ---------------------------
    Im Projekt Project1.exe ist eine Exception der Klasse EAccessViolation aufgetreten. Meldung: 'Zugriffsverletzung bei Adresse 40056B20 in Modul 'rtl60.bpl'. Lesen von Adresse 00000038'. Prozeß wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen.
    ---------------------------

    Liegts an meinem Code oder an was anderem ??

    FGGF



  • Garantiert an deinem Code.

    -junix



  • Tip ??

    FGGF



  • Welche Zeile hat die Voilation?

    -junix



  • Bei der Adresssenzuweisung: Im AnsiString steht aber ne IP Adresse.

    Scanner->Adresse->egal;

    oder Scanner->Host=egal;

    geht beides nicht.

    Hab auch schon im Forum gesucht usw. aber der Code scheint zumindest zu stimmen.
    Die Ping-Funktion kann mit dem AnsiString auch umgehen, d.h. die angegebene IP anpingen nur die Hostzuweisung erzeugt die oben genante Fehlermeldung.

    FGGF



  • Ist "Scanner" gültig?

    -junix



  • Manchmal bin ich echt ein bisschen schwer von Begriff, sorry.
    Hab den Namen im Objektinspektor erstmal auf Scanner korrigiert.
    Den Rest habe ich hingekriegt. Danke. Waren noch 2 kleinigkeiten, die ich ändern musste.
    Also manchmal sieht man den Wald vor lauter Bäumen nicht. Aber du hattest Recht, es lag am Code.... *fg*

    @ Junix Am besten diesen Thread schnellstmöglichst löschen....

    FGGF 🙄 🙄


Anmelden zum Antworten