AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Hilfe - HTTPS unterschiedliches Verhalten
Thema durchsuchen
Ansicht
Themen-Optionen

Hilfe - HTTPS unterschiedliches Verhalten

Ein Thema von KlausV · begonnen am 2. Aug 2018 · letzter Beitrag vom 3. Aug 2018
 
Delphi.Narium

Registriert seit: 27. Nov 2017
2.598 Beiträge
 
Delphi 7 Professional
 
#8

AW: Hilfe - HTTPS unterschiedliches Verhalten

  Alt 2. Aug 2018, 17:12
Das EIdWinsockStubError.Build klingt ja schonmal nach 'ner Fehlermöglichkeit im Umfeld der Sockets.

Runtimeerror 216 läßt (in der Regel) darauf schließen, dass was nach seiner Freigabe noch genutzt wurde.

Prüf' bitte mal, wo und in welcher Reihenfolge Du (Indy)Komponenten erstellst und wieder freigibst. Eventuell hakt da was.

Der Fehler scheint letztlich irgendwo vor dem EIdWinsockStubError.Build aufzutreten. Du müsstest jetzt quasi rückwärts debuggen können. Da das nicht geht versuche mal irgendwie die letzten Schritte vorher zu loggen.

Eventuell beschreibst Du uns mal kurz die letzten Programmschritte vor dem Fehler.

Also z. B.: Fehler tritt nur beim Programmende auf.
Fehler tritt in 'nem Timerereignis auf ...

Werden die Indy-Komponenten einmalig erstellt (z. B. sind auf ein Formular gepappt) oder werden sie je nach Bedarf erstellt und anschließend freigegeben?

Findest Du EIdWinsockStubError.Build in der MAP-Datei?
Wenn ja: Davor steht eine Adresse in der Art: 0001:001877A4
Suche bei laufendem Debugger bitte mal nach dieser Adresse: 001877A4 und versuche dann im Quelltext rückwärts zu gehen, bis Du einen möglichen Auslöser dieser Exception findest.

Definiert ist das Teil in der Unit IdWinsock2.

Welche SSL-Methode Du nehmen musst, kannst Du eventuell mit ('ner abgewandelten Version) des folgenden Quelltextes erfahren:
Delphi-Quellcode:
function MyGetSSLMethod(http: tidHTTP; SSL : TIdSSLIOHandlerSocketOpenSSL; sUrl: string; var sMessage: string): Integer;
var
  sMethod: string;
  myIdSSLVersion: TIdSSLVersion;
begin
  Result := -1;
  for myIdSSLVersion := Low(TIdSSLVersion) to High(TIdSSLVersion) do begin
    SSL.SSLOptions.Method := myIdSSLVersion;
    sMethod := GetEnumName(TypeInfo(TIdSSLVersion), Ord(myIdSSLVersion));
    try
      http.RedirectMaximum := 0;
      http.HandleRedirects := false;
      http.Response.Clear;
      http.Get(sUrl);
      http.Disconnect(True);
      http.IOHandler.InputBuffer.Clear;
      sMessage := sMethod;
      Result := Ord(myIdSSLVersion);
      break;
    except
      on e: Exception do begin
        case http.ResponseCode of
          301, 302 : begin
                      sMessage := sMessage + #13 + http.ResponseText;
                     end;
        else
          sMessage := sMessage + #13 + AnsiReplaceText(e.Message, #13#10, ' ');
        end;
        PSReg.WriteAppLog(Format('Scriptaufruf : GetSSLMethod(%s)', [sUrl]));
        PSReg.WriteAppLog(Format('Fehlermeldung: %s', [AnsiReplaceText(e.Message, #13#10, ' ')]));
        PSReg.WriteAppLog(Format('SSLMethod : %s', [sMethod]));
        http.Disconnect(True);
        http.IOHandler.InputBuffer.Clear;
      end;
    end;
  end;
end;
  Mit Zitat antworten Zitat
 

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz