AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Suche WSocket unit für D2010 (Unicode)
Thema durchsuchen
Ansicht
Themen-Optionen

Suche WSocket unit für D2010 (Unicode)

Offene Frage von "pertzschc"
Ein Thema von pertzschc · begonnen am 14. Nov 2013 · letzter Beitrag vom 14. Nov 2013
Antwort Antwort
pertzschc

Registriert seit: 29. Jul 2005
Ort: Leipzig
305 Beiträge
 
Delphi 10.4 Sydney
 
#1

Suche WSocket unit für D2010 (Unicode)

  Alt 14. Nov 2013, 13:18
Hallo zusammen,
wir verwenden in alten D7-Projekten die Unit WSockets.pas von Robert T. Palmqvist:
Delphi-Quellcode:
unit WSockets;
{

WSockets Version 1.20 - A Simple VCL Encapsulation of the WinSocket API

VCL Classes in this Unit:
  TTCPClient - A TCP Client (derived from TCustomWSocket)
  TTCPServer - A TCP Server (derived from TCustomWSocket)
  TUDPClient - A UDP Client (derived from TCustomWSocket)
  TUDPServer - A UDP Server (derived from TCustomWSocket)

Other classes ni this Unit:
  TCustomWSocket - A generic base class for other socket classes
  TClientList    - A list class used only by the TTCPServer class

Legal issues:

Copyright (C) 1997 by Robert T. Palmqvist <robert.palmqvist@skanska.se>
...
Nun möchten wir die Projekte auf Delphi 2010 (Unicode) umstellen und ich bin auf der Suche nach einer neuen Version der Unit. Weiß jemand, ob es eine neue Version gibt?

Danke,
Christoph
  Mit Zitat antworten Zitat
Klaus01
Online

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Suche WSocket unit für D2010 (Unicode)

  Alt 14. Nov 2013, 13:24
..magst Du wsockets.pas nicht selber anpassen.
Im ersten Ansatz string durch ansiString ersetzen.

Welche Fehler bekommst Du denn, wenn Du die Unit benutzt?

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
pertzschc

Registriert seit: 29. Jul 2005
Ort: Leipzig
305 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Suche WSocket unit für D2010 (Unicode)

  Alt 14. Nov 2013, 13:30
..magst Du wsockets.pas nicht selber anpassen.
Ich habe es versucht: PChar -> PAnsiChar und Char -> AnsiChar.

Welche Fehler bekommst Du denn, wenn Du die Unit benutzt?
[DCC Fehler] WSockets.pas(909): E2010 Inkompatible Typen: 'Array' und 'PAnsiChar'
bei ->:
Delphi-Quellcode:
function TCustomWSocket.GetLocalHostAddress: string;
var
  SockAddrIn: TSockAddrIn;
  HostEnt: PHostEnt;
  szHostName: array[0..128] of AnsiChar;
begin
-> if gethostname(szHostName, 128) = 0 then
  begin
    HostEnt := gethostbyname(szHostName);
    if HostEnt = nil then
      Result := ''
    else
    begin
      SockAddrIn.sin_addr.S_addr := longint(plongint(HostEnt^.h_addr_list^)^);
      Result := inet_ntoa(SockAddrIn.sin_addr);
    end;
  end
  else
    SocketError(WSAGetLastError);
end;
Gruß, Christoph
  Mit Zitat antworten Zitat
Klaus01
Online

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Suche WSocket unit für D2010 (Unicode)

  Alt 14. Nov 2013, 13:41
und wenn du es so schreibst?

Delphi-Quellcode:
if gethostname(szHostName[0], 128) = 0 then
  begin
Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
pertzschc

Registriert seit: 29. Jul 2005
Ort: Leipzig
305 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Suche WSocket unit für D2010 (Unicode)

  Alt 14. Nov 2013, 14:09
Jetzt habe ich es:
Delphi-Quellcode:
function TCustomWSocket.GetLocalHostAddress: string;
var
  SockAddrIn: TSockAddrIn;
  HostEnt: PHostEnt;
  szHostName: array[0..128] of AnsiChar;
begin
  if gethostname(szHostName, SizeOf(szHostName)) = 0 then
  begin
    HostEnt := gethostbyname(szHostName);
    if HostEnt = nil then
      Result := ''
    else
    begin
      SockAddrIn.sin_addr.S_addr := longint(plongint(HostEnt^.h_addr_list^)^);
      Result := inet_ntoa(SockAddrIn.sin_addr);
    end;
  end
  else
    SocketError(WSAGetLastError);
end;
  Mit Zitat antworten Zitat
Antwort Antwort


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 09:08 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