Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#4

AW: function mit Array - trotz gleichen Typs "Inkompatible Typen"

  Alt 10. Mär 2011, 13:58
Nein, das nicht nicht der gleiche Typ .... nichtmal ein ähnlicher.

array of ... direkt als Parameter angegeben ist ein Open-Array-Typ und hat nichts mit dem normalen Typ zu tun.

Typen müssen meist sogar identisch und nicht nur gleich sein.



So, ansonsten liebe ich es, wenn man ständig vergißt die Fehlerposition mit anzugeben.
stan := up(dan); .
Das Problem ist hier z.B. nicht der Parameter "dan", sondern das Result.
> hier wird nämlich garantiert nicht "dan" markiert, sondern ")"

ein Open-Array-Parameter ist, wie der Name schon sagt, offen für Vieles, also auch "ähnliche" Typen oder gar direkte Konstanten ala stan := up([123, 456, 789]); .

Das Result muß aber identisch sein, daß hier die Inhalte direkt zugewiesen werden.

Dein einziger Deklarationsfehler war also
Delphi-Quellcode:
var
  dan,stan: array of integer; {TArray}
PS: Delphi-Referenz durchsuchenTIntegerDynArray (da identisch oft nötig ist, machen sich solche Standardtypen besser)



PPS: Es ist zwar toll, daß mal jemand Code-Tags nutzt, aber wie wäre es mit einem Delphi-Tag?
[delphi]...[/delphi] (der rot-goldne Helm)
Vielleicht kannst'e das ja noch editieren



Und zum Rest:
Tut mir Leid ... wieder nicht gesagt WO der Fehler auftritt und ich hab keine Lust zu suchen.

Tipp:
- Debuggen ist was Tolles
- schalte mal in den Projektoptionen die Bereichs- und Überlaufprüfungen an
$2B or not $2B

Geändert von himitsu (10. Mär 2011 um 14:02 Uhr)
  Mit Zitat antworten Zitat