AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

ScktComp unter Delphi 2009 anpassen

Ein Thema von hadschi92 · begonnen am 6. Apr 2009 · letzter Beitrag vom 7. Apr 2009
Antwort Antwort
hadschi92

Registriert seit: 25. Okt 2006
83 Beiträge
 
Delphi XE3 Professional
 
#1

ScktComp unter Delphi 2009 anpassen

  Alt 6. Apr 2009, 17:33
Da die Sockets in Delphi 2009 dank Unicode teilweise nicht mehr funktionieren ist mir die Idee gekommen die Unit einfach umzuschreiben. Das wird wahrscheinlich einfacher sein, als seine ganzen Projekte umzuschreiben.

Was müsste dabei alles umgeschrieben werden? Ich hab mit die Unit kurz angeschaut, sie beinhaltet ca. 2000 Zeilen Code, also nicht gerade übermäßig viel, es sollte doch möglich sein? Kann mir einer einen Denkanstoß geben, welche Prozeduren nicht funktionieren und wie man es lösen kann. Einfach den eingegebenen String in einen AnsiString umwandeln?

Oder einer von euch schreibt das Ding um, aber von solchen Sachen bin ich nicht so der Favourit, ich möchte kapieren was ich ändere und warum.

Achja, sagt es mir bitte gleich wenn das Ganze nicht funktionieren wird und bitte mit Begründung
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.169 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: ScktComp unter Delphi 2009 anpassen

  Alt 6. Apr 2009, 17:46
Zitat von hadschi92:
Da die Sockets in Delphi 2009 dank Unicode teilweise nicht mehr funktionieren ist mir die Idee gekommen die Unit einfach umzuschreiben.
Was funktioniert denn nicht?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
hadschi92

Registriert seit: 25. Okt 2006
83 Beiträge
 
Delphi XE3 Professional
 
#3

Re: ScktComp unter Delphi 2009 anpassen

  Alt 6. Apr 2009, 18:58
Um nicht alles erklären zu müssen: https://forums.codegear.com/thread.jspa?messageID=70567

Dort wird auch eine Lösung beschrieben, jedoch seinen gesamten Quelltext alter Projekte deshalb zu ändern ist nicht gerade produktiv. Daher könnte man die ScktComp.pas so anpassen, dass Strings von vorne herein gleich richtig konvertiert werden.

Edit: ReceiveText z.B. ist kaputt, in der ScktComp-Unit sieht die Funktion so aus:
Delphi-Quellcode:
function TCustomWinSocket.ReceiveText: string;
begin
  SetLength(Result, ReceiveBuf(Pointer(nil)^, -1));
  SetLength(Result, ReceiveBuf(Pointer(Result)^, Length(Result)));
end;
Ich müsste also zuerst mit ReceiveBuf das Empfangene einlesen, dann in einen AnsiString schreiben und den dann in Unicode konvertieren...
Könnte das danach so aussehen? Stimmt der Code dann auch?
Delphi-Quellcode:
function TCustomWinSocket.ReceiveText: string;
var S: AnsiString;
begin
  SetLength(S, ReceiveBuf(Pointer(nil)^, -1));
  SetLength(S, ReceiveBuf(Pointer(S)^, Length(S)));
  Result := String(S);
end;
Ok, wahrscheinlich sind noch mehr Funktionen bisschen verbuggt, nur weiß ich nicht welche...
  Mit Zitat antworten Zitat
hadschi92

Registriert seit: 25. Okt 2006
83 Beiträge
 
Delphi XE3 Professional
 
#4

Re: ScktComp unter Delphi 2009 anpassen

  Alt 7. Apr 2009, 20:42
Ok, das ganze hat jetzt geklappt. Eventuell sind noch weitere Funktionen bisschen kaputt, wenn ich Fehler finde schreibe ich sie hier rein.
Also falls bei jemandem die Sockets nicht ganz unter Delphi 2009 funktionieren, dann einfach die ScktComp-Unit nehmen, die Zeilen wie im Post darüber beschrieben abändern und dann die Unit kompilieren. Einfach die Unit in den Ordner eines Projekts einfügen und die Unit in diesem Projekt oder Programm verwenden, das ganze kompilieren, dann wird eine .dcu Datei erstellt.

Die originalen ScktComp.pas und ScktComp.dcu könnt ihr jetzt mit den neu kompilierten ersetzen.

Wer Fehler oder Anregungen findet bitte melden.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 14:46 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