Thema: Delphi verbindung weiterleiten

Einzelnen Beitrag anzeigen

Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: verbindung weiterleiten

  Alt 6. Mär 2008, 19:56
Hier geht es nicht um die Darstellung. Insofern ist es egal, ob du String oder PChar nimmst, aber bei beidem musst du erst Speicher reservieren!

Delphi-Quellcode:
procedure TForm1.ClientSocket1Read(Sender: TObject;
  Socket: TCustomWinSocket);
var
  p_text:pansichar;
begin
  me_meg.Lines.Add('client msg: '+Socket.ReceiveText); //Mit ReceiveText wird der interne Puffer geleert - die Daten sind futsch!
  Socket.ReceiveBuf(p_text,Socket.ReceiveLength); //Ein PChar ist nur ein Zeiger. Du kannst keinen Zeiger empfangen!
  write(p_text);
end;
Du musst dir mit GetMem Speicher reservieren und dann mit diesem Speicher arbeiten und ihn mit FreeMem wieder freigeben.

In den anderen Funktionen sind auch noch Fehler drin, aber im Prinzip ist es immer der gleiche wie oben.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat