![]() |
Array als Parameter uebergeben?
Ich versuche im Moment einen Aufruf dynamisch zu erzeugen:
Aufruf vorher: myfunction( 1, 'plugincommand', 'Description', [1,1,6], 3 ); Nun möchte ich den Parameter [1,1,6] mit delphi erzeugen. ParArray : array[1..10] of Integer; ParArray[1] := 1; ParArray[2] := 1; ParArray[3] := 6; Aber wenn ich das so aufrufe: myfunction( 1, 'plugincommand', 'Description', ParArray, 3 ); bekomme ich 'Inkompatible Typen'. Irgendwie habe ich dabei das Brett vorm Kopf. Kann mir da jemand weiter helfen? |
Re: Array als Parameter uebergeben?
Erstell dir einen Typ:
Delphi-Quellcode:
und dann:
TParArray = Array[1..10] of Integer;
Delphi-Quellcode:
ParArray: TPayArray;
|
Re: Array als Parameter uebergeben?
Danke für den Tip!
Ich bekomme aber immer noch [Fehler] myprog.dpr(460): Inkompatible Typen: 'Array' und 'TParArray' Was kann das noch sein? |
Re: Array als Parameter uebergeben?
Die Deklaration müsste so aussehen:
Delphi-Quellcode:
MfG
function my_function (var wo: TParArray): eine_Funktion_braucht_einen_Rueckgabewert :oops: ;
Christian |
Re: Array als Parameter uebergeben?
Moin!
@Chris1986: Eine Funktion braucht nen Rückgabewert sonst wird das nix :) Außerdem kann in einen Funktionskopf / Prozedurkopf (wenn ich nicht ganz falsch liege) nur ein dynamisches Array. @HPW: Kopier mal bitte deinen Funktionskopf hierher, dass man sehen kann wo der Fehler liegt. Danke! MfG Niels |
Re: Array als Parameter uebergeben?
Zitat:
|
Re: Array als Parameter uebergeben?
Zitat:
MfG Christian |
Re: Array als Parameter uebergeben?
Moin!
@Chewie: Du gibst ja beim Aufruf ein Array an die Funktion / Prozedur weiter und damit wird auch die Größe des Array im Funktions- / Prozedurkopf bestimmt. Die darfst du vorher nicht festlegen! und nochmal zu dir HPW: Wenn du irgendwo stehen hast:
Delphi-Quellcode:
Da kannst du die Funktion bla mit dem Befehl bla(x) aufrufen ohne eine Fehlermeldung zu bekommen. Der Compiler mekrt dann, dass TParArray auch ein array of integer ist.
type
TParArray = array[0..10] of integer; var x: TParArray; .... procedure bla(k: array of integer); begin .... end; MfG Niels |
Re: Array als Parameter uebergeben?
Das mit der Typendeklaration war schon richtig!
Hiermit scheint jetzt alles zu gehen: TParArray = Array[1..10] of Byte; Nochmals Danke! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:43 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