AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Array als Parameter uebergeben?

Ein Thema von HPW · begonnen am 20. Dez 2003 · letzter Beitrag vom 20. Dez 2003
Antwort Antwort
HPW

Registriert seit: 28. Feb 2003
160 Beiträge
 
Delphi 7 Professional
 
#1

Array als Parameter uebergeben?

  Alt 20. Dez 2003, 20:48
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?
Hans-Peter
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Array als Parameter uebergeben?

  Alt 20. Dez 2003, 20:50
Erstell dir einen Typ:

TParArray = Array[1..10] of Integer; und dann:
ParArray: TPayArray;
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
HPW

Registriert seit: 28. Feb 2003
160 Beiträge
 
Delphi 7 Professional
 
#3

Re: Array als Parameter uebergeben?

  Alt 20. Dez 2003, 20:56
Danke für den Tip!

Ich bekomme aber immer noch

[Fehler] myprog.dpr(460): Inkompatible Typen: 'Array' und 'TParArray'

Was kann das noch sein?
Hans-Peter
  Mit Zitat antworten Zitat
Chris1986

Registriert seit: 17. Jul 2003
Ort: Aachen
350 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Array als Parameter uebergeben?

  Alt 20. Dez 2003, 21:00
Die Deklaration müsste so aussehen:
function my_function (var wo: TParArray): eine_Funktion_braucht_einen_Rueckgabewert :oops: ; MfG
Christian
Es gibt nur 10 Typen von Menschen auf der Welt:
Die, die Binärcode verstehen und die, die es nicht tun . . .
  Mit Zitat antworten Zitat
Niels

Registriert seit: 25. Okt 2003
192 Beiträge
 
#5

Re: Array als Parameter uebergeben?

  Alt 20. Dez 2003, 21:09
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
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Array als Parameter uebergeben?

  Alt 20. Dez 2003, 21:11
Zitat von Niels:
Außerdem kann in einen Funktionskopf / Prozedurkopf (wenn ich nicht ganz falsch liege) nur ein dynamisches Array.
Wieso denn das
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Chris1986

Registriert seit: 17. Jul 2003
Ort: Aachen
350 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Array als Parameter uebergeben?

  Alt 20. Dez 2003, 21:15
Zitat von Niels:
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.
Ich wusste ich habe was vergessen. Ausserdem kenne ich den Rückgabewert ja nicht Naja es ging ja auch nur um die Übergabe des Arrays.

MfG
Christian
Es gibt nur 10 Typen von Menschen auf der Welt:
Die, die Binärcode verstehen und die, die es nicht tun . . .
  Mit Zitat antworten Zitat
Niels

Registriert seit: 25. Okt 2003
192 Beiträge
 
#8

Re: Array als Parameter uebergeben?

  Alt 20. Dez 2003, 21:16
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:
type
  TParArray = array[0..10] of integer;

var
  x: TParArray;

....

procedure bla(k: array of integer);
begin
  ....
end;
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.

MfG Niels
  Mit Zitat antworten Zitat
HPW

Registriert seit: 28. Feb 2003
160 Beiträge
 
Delphi 7 Professional
 
#9

Re: Array als Parameter uebergeben?

  Alt 20. Dez 2003, 21:16
Das mit der Typendeklaration war schon richtig!

Hiermit scheint jetzt alles zu gehen:

TParArray = Array[1..10] of Byte;

Nochmals Danke!
Hans-Peter
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:52 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz