Autor |
Beitrag |
jaenicke
Beiträge: 19284
Erhaltene Danke: 1742
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Di 03.03.15 20:04
Peter18 hat folgendes geschrieben : | Der "Internet Explorer 6" weigerte sich seinen Dienst aufzunehmen und behauptete es wäre eine neuere Version installiert. |
Hast du denn da eine neuere Version installiert? Mit dem Internet Explorer hängen einige Systemkomponenten zusammen, die von anderen Tools auch genutzt werden. Deshalb sollte der möglichst auch aktualisiert werden, auch wenn man ihn ggf. nicht nutzt.
|
|
Peter18
Beiträge: 489
Erhaltene Danke: 2
Delphi4
|
Verfasst: Mi 04.03.15 18:17
Hallo jaenicke,
danke für die Antwort. Versuche schon die ganze Zeit herauszufinden warum der Registryeintrag fehlt. Habe verschiedene Komponenten neu installiert und auch Delphi, doch ohne Erfolg.
Durch irgend ein Update ist der "Internet Explorer 7" (zumindest behauptet er 7 zu sein) da drauf gekommen, aber die Schnittstelle ist nicht da, zumindest nicht registriert. Installieren statt Update?
Grüße von der Nordsee
Peter
|
|
Peter18
Beiträge: 489
Erhaltene Danke: 2
Delphi4
|
Verfasst: Fr 06.03.15 17:32
Ein freundliches Hallo an alle,
alle Versuche die Hilfe in Gang zu bringen sind bisher fehlgeschlagen. Den Internetexplorer möchte ich lieber nicht entfernen, da ich nicht sicher bin ob dann nicht irgend ein Programm abstürzt.
Vielleicht kann ja jemand die notwendigen Einträge für die Schnittstelle exportieren. Dann kann ich feststellen, ob die Schnittstelle von den Updates eingerichtet, aber nicht registriert wurde. Es gibt zwar Informationen zu dem Thema, aber offenbar sind sie unvollständig.
Grüße von der Nordsee
Peter
|
|
Martok
Beiträge: 3661
Erhaltene Danke: 604
Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
|
Verfasst: Fr 06.03.15 21:05
Moin,
um nochmal auf die Ausgangsfrage zurück zu kommen: noch mit D4 funktionieren wird die ICS (grausige Webseite, kann man nicht direkt verlinken, links unter 'Products' 'ICS' anklicken). Die Version von 2009 unterstützt laut der Beschreibung noch D4. Zur Verwendung finden sich dort viele Beispiele und Demoprojekte. Hab ich damals auch verwendet und es funktionierte sehr gut.
Viele Grüße,
Martok
_________________ "The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
|
|
Peter18
Beiträge: 489
Erhaltene Danke: 2
Delphi4
|
Verfasst: Mo 09.03.15 12:11
Hallo Martok,
Danke für Deine Atwort, ein sehr guter Tipp! Nach erster Sichtung sind dort einige interessante Sachen drin. Bei ersten Versuchen mit den Projektdateien konnte ich aber die Formulare nicht mit Delphi 4 laden. Werde noch weiter prüfen und dann Berichten.
Grüße von der sonnigen Nordsee
Peter
|
|
Peter18
Beiträge: 489
Erhaltene Danke: 2
Delphi4
|
Verfasst: Di 24.03.15 13:11
Ein freundliches Hallo an alle,
leider ist es mir bisher noch nicht gelungen, mit all den Beispielen und Units, etwas lauffähiges hin zu kriegen. Aber bei all den Versuchen und Internetrecherchen bin ich durch Zufall auf die richtigen Stichworte gestoßen, die auch Grundlagen liefern. Bei MS gibt es ja sehr viele Infos, doch sie zu finden ist nicht so einfach, vor allem sie später wieder zu finden.
Daher für alle Interessierten hier die Links:
WinSock.pas:
Allgemeines zum Thema Netzwerk:
msdn.microsoft.com/e...86%28v=vs.85%29.aspx
WinSock: Getting started:
msdn.microsoft.com/e...20%28v=vs.85%29.aspx
WinSock: Programmbeispiele (C++):
msdn.microsoft.com/e...89%28v=vs.85%29.aspx
WinNet.pas:
Übersicht:
msdn.microsoft.com/e...86%28v=vs.85%29.aspx
Beispiel:
msdn.microsoft.com/e...40%28v=vs.85%29.aspx
Grüße von der sonnigen Nordsee
Peter
|
|
Peter18
Beiträge: 489
Erhaltene Danke: 2
Delphi4
|
Verfasst: Fr 27.03.15 14:50
Ein freundliches Hallo an alle,
Mit den Beispielen und der Beschreibung habe ich inzwischen etwas zu Stande gebracht, (quick and dirty) um erst mal zu sehen wie es geht. Es muß aber noch etwas falsch laufen! Vielleicht ein falsch übergebener Parameter? Der Server lauft bis "CSock := accept( SSock, Nil, Nil );" Hier scheint er in einer Schleife zu hängen. Eine Absturzmeldung gibt es nicht, aber vielleicht läuft er ja in die Wüste.
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86:
| procedure TForm1.Button1Click(Sender: TObject); var VerR : word; WSADATA : TWSAData; Res : Integer; hints : PAddrInfo; ARes : PAddrInfo;
begin VerR := 2; Res := WSAStartup( VerR, WSADATA ); if Res = 0 then begin hints := AllocMem( SizeOf( TAddrInfo ) ); ARes := AllocMem( SizeOf( TAddrInfo ) ); hints.ai_flags := 0; hints.ai_family := AF_INET; hints.ai_socktype := SOCK_STREAM; hints.ai_protocol := IPPROTO_TCP; hints.ai_flags := AI_PASSIVE;
Res := getaddrinfo(Nil, PChar( Edit2.Text ), hints, ARes ); if Res = 0 then begin SSock := socket( ARes.ai_family, ARes.ai_socktype, ARes.ai_protocol ); if SSock <> INVALID_SOCKET then begin Res := bind( SSock, ARes.ai_addr^, ARes.ai_addrlen ); if Res <> SOCKET_ERROR then begin freeaddrinfo( ARes ); Res := listen( SSock, SOMAXCONN ); if Res = 0 then begin CSock := accept( SSock, Nil, Nil ); if CSock <> INVALID_SOCKET then begin closesocket( SSock ); end else begin Memo1.Lines.Add( 'Fehler Erstellen des Clientports: ' + IntToStr( WSAGetLastError ) ); closesocket( SSock ); WSACleanup; end; end else begin Memo1.Lines.Add( 'Fehler Portprüfung: ' + IntToStr( WSAGetLastError ) ); closesocket( SSock ); WSACleanup; end; end else begin Memo1.Lines.Add( 'Fehler beim Binden: ' + IntToStr( WSAGetLastError ) ); freeaddrinfo( ARes ); closesocket( SSock ); WSACleanup; end; end else begin Memo1.Lines.Add( 'Fehler beim Erstellen des Socket : ' + IntToStr( WSAGetLastError ) ); freeaddrinfo( ARes ); WSACleanup; end; end else begin Memo1.Lines.Add( 'Fehler bei der Portprüfung: ' + IntToStr( Res ) ); WSACleanup; end; end else begin Memo1.Lines.Add( 'Initialisierungsfehler: ' + IntToStr( Res ) ); end; end; |
Ich habe irgentwie die Zeile "Res := bind( SSock, ARes.ai_addr^, ARes.ai_addrlen );" in verdacht.
Ich hoffe jemand hat einen Tipp.
Grüße von der sonnigen Nordsee
Peter
|
|
|