Einzelnen Beitrag anzeigen

Shakyamuni

Registriert seit: 30. Apr 2008
9 Beiträge
 
#5

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

  Alt 10. Mär 2011, 14:33
Nein, das nicht nicht der gleiche Typ .... nichtmal ein ähnlicher.
Ah, dann liegt der Fehler schonmal klar auf der Hand, ist klar, warum das nicht so will.

Zitat:
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)
Ok, den werde ich gleich mal implementieren statt meinem eigenen Gedudel. Und das mit der Fehlerstelle tut mir leid - Ich habe selbst schon lange nicht mehr in Foren ums Programmieren geschrieben, weil mir dafür einfach die Zeit fehlt. Ebenso wie für das Programmieren (leider).

Zitat:
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
Wurde sofort geändert

Zitat:
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
Ich denke mal, der Fehler wird sich gleich auftun, wenn ich die korrekten Typen benutze - auch wenn ich hoffe, dass der Rest richtig ist
Der Debugger von Borlands Delphi hatte mir nicht mehr ausgegeben als die Meldung, dass es inkompatible Typen sind.
Vielen Dank auf jedenfall schonmal für die Hilfe - wenn ich weiter bin werde ich das reineditieren.
  Mit Zitat antworten Zitat