Einzelnen Beitrag anzeigen

Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.429 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Inkompatible Datentypen in Procedures bei Arrays mit Double bzw. Extended

  Alt 25. Jan 2022, 09:01
Eine Type-Deklaration deklariert ein dynamisches Array.
Wird ein ein Parameter von diesem Typ übergeben, so ist der Parameter in Wirklichkeit ein Zeiger auf das ursprüngliche Array.
Da gibt es keine Typumwandlung der Elemente.
Die Direktive "overload" ermöglicht Procedure mit gleichem Namen mit unterschiedlichen Parametern.

Eine direkte Array-Deklaration als Parameter deklariert eine sogenanntes "offenes Array".
Delphi-Quellcode:
procedure procArrDouble(const AArrDouble: Array of Double);


procedure Test;
var
  a: Double;
  b: Extendet;
  c: Integer;
begin
  procArrDouble([a, b, c]);
end;
Hier wird jeder einzelne Parameter in den Zieltyp umgewandelt und in ein offenes Array gepackt.
  Mit Zitat antworten Zitat