AGB  ·  Datenschutz  ·  Impressum  







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

Array an Funktion übergeben: Problem!

Ein Thema von silentAMD · begonnen am 24. Apr 2007 · letzter Beitrag vom 25. Apr 2007
Antwort Antwort
silentAMD

Registriert seit: 27. Sep 2003
203 Beiträge
 
Turbo Delphi für Win32
 
#1

Array an Funktion übergeben: Problem!

  Alt 24. Apr 2007, 14:53
hi,
ich übergebe an eine funktion wie folgt ein dynamisches array vom typ TZeichenkette:

Code:
procedure AnzahlBuchstabenkette(txt: String; var arr: array of TZeichenkette; zahl, maximal: Byte);
begin
SetLength(arr, 0);

//... weiterer Code...

end;
beim versuch, dies zu compilern kommt folgender fehler: "E2008 Inkompatible Typen" in jeder zeile wo setlength steht.


was ist denn verkehrt?
  Mit Zitat antworten Zitat
matashen

Registriert seit: 29. Jan 2007
Ort: daheim
471 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#2

Re: Array an Funktion übergeben: Problem!

  Alt 24. Apr 2007, 15:08
Ich denke das liegt an deinenm TZeichenkette, zeig mal den Codeschnipsel wo du dieses deklarierst, da liegt vermutlich der Hund begraben

Gruß Matthias
Matthias
Das Leben ist eines der härtesten.
  Mit Zitat antworten Zitat
silentAMD

Registriert seit: 27. Sep 2003
203 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Array an Funktion übergeben: Problem!

  Alt 24. Apr 2007, 15:10
daran dürfte es nicht liegen, denn wenn ich gleich den namen der globelen variable statt der übergebenen eingebe klappt es... aber bitte:

Code:
TZeichenkette = class(TObject)
  Signs: String;
  Anzahl: Integer;
private
  { Private-Deklarationen }
public
  { Public-Deklarationen }
end;

bittte helfen!!!

EDIT: hab ne lösung gefunden... array of TZeichenkette als typ deklarieren... aber wieso läuft meine ursprüngliche lösung nicht?
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Array an Funktion übergeben: Problem!

  Alt 24. Apr 2007, 18:15
Schau mal in der Hilfe unter Parameter. Die Konstruktion, die du verwendet hast, ist ein "offener Array-Parameter", und damit gehen gewisse Dinge nunmal nicht.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Array an Funktion übergeben: Problem!

  Alt 24. Apr 2007, 20:04
Du musst dir erst einen Typ definieren, der nicht als offen missverstanden werden kann
  TZeichenkettenArray=Array of TZeichenkette; und dann diesen Typ nehmen.
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#6

Re: Array an Funktion übergeben: Problem!

  Alt 25. Apr 2007, 00:25
Und damit man sich diese Unart der dynamischen Arrays an unsinnigen Stellen erst gar nicht angewöhnt: hier wäre eine TObjectList viel besser geeignet (und man braucht nicht mal var, es reicht sogar ein const)...
  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 19:59 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