![]() |
Doppeldeutiger überladener Aufruf
Moin,
beim Compilieren mit Deplhi 2007 taucht die Fehlermeldung "Doppeldeutiger überladener Aufruf" auf
Delphi-Quellcode:
Hat da jemand eine Lösung?
{* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}
function TTnCnx.Send( Data : PChar; Len : Integer) : integer; var I : Integer; Ch : AnsiChar; begin if Assigned(Socket) then begin Result := 0; for I := 0 to Len - 1 do begin Ch := AnsiChar(Data[I]); Result := Result + Socket.Send(@Ch, 1); end; end else Result := -1; end; {* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *} function TTnCnx.SendStr(Data : String) : integer; begin Result := Send(@Data[1], Length(Data)); // HIER ENSTEHT DIE FEHLERMELDUNG end; Gruss EL |
Re: Doppeldeutiger überladener Aufruf
Wie sind denn die Deklaration aus?
|
Re: Doppeldeutiger überladener Aufruf
Zitat:
Delphi-Quellcode:
Gruss
constructor Create(AOwner: TComponent); override;
destructor Destroy; override; function Send(Data : Pointer; Len : Integer) : integer; overload; function Send(Data : PChar; Len : Integer) : integer; overload; function SendStr(Data : String) : integer; EL |
Re: Doppeldeutiger überladener Aufruf
Sowohl PChar als auch Pointer sind Zeiger - also doppeldeutig. Übergebe statt dem PChar nen String oder mache 2 getrennte Funktionen daraus ;)
|
Re: Doppeldeutiger überladener Aufruf
Zitat:
Nehm mal die 'PChar'-Version ersatzlos raus. Die Pointer-Version sollte auch mit PChars zurechtkommen können. |
Re: Doppeldeutiger überladener Aufruf
falls die PChar (was meißt der Fall sein sollte) mit #0 abgeschlossen sein sollten, dann kannst du da auch das Len weglassen und die Länge über das #0 bestimmten :angel:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:25 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz