Hi Comunity und Delphianer
Ich binn vor kurzem auf Delphi xe2 umgestiegen und habe in meiner Delphi Sammlung welche ich früher in Delphi 7 geschrieben habe Projekte die ich jetzt in der neueren Version von Delphi gerne weiter machen möchte.
Für mein Chat Projekt habe ich ne Server und ne Client Anwendung.
Mein Server konnte ich mit XE2 ausführen und der läuft auch wie gewohnt.
Allerdings macht mir der Client Kopfzerbrechen.
Mein Client wenn ich ihn mit Delphi 7 compiliere schikt er dem Server nach dem Connect Informationen die ungefähr so ausschauen.
34|OnConnect|Benutzername|Chatfarbe|
Wenn ich den Client im Delphi 7 Compiliere tut er dies ja auch, und der Server empfängt '34|OnConnect|Benutzername|Chatfarbe|' aber wenn ich ihn dann in XE2 Compiliere dann empfängt der Server nur ne '3' also nur das erste Zeichen.
Der Client schaut so aus.
Delphi-Quellcode:
procedure Send(Socket: TClientSocket; Data: string);
var
Temp: string;
begin
while (Length(Data) > 0) and (Socket.Connected) do begin
Temp := Copy(Data,1,4096);
Delete(Data,1,4096);
repeat
until Socket.SendBuffer(pointer(Temp)^,length(Temp)) <> -1;
sleep(10);
end;
end;
procedure SendData(Socket: TClientSocket; Data: string);
begin
Data := inttostr(length(Data)) + '|' + Data;
if Socket = nil then exit;
if not Socket.Connected then Exit;
Send(Socket,Data);
end;
procedure TForm1.ClientSocket1Connect(Sender: TObject; Socket: TCustomWinSocket);
begin
ConnectionString := '|OnConnect|Benutzername|Chatfarbe|'
SendData(Socket,ConnectionString);
end;
Weiss wer an was das liegen kann?
Besste Grüsse Tom